Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> execScript в Mozilla ActiveX 
:(
    Опции темы
Hooch
Дата 6.3.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 6.3.2006
Где: г. Омск

Репутация: нет
Всего: нет



Скажите-ка, можно ли для Mozilla ActiveX вызвать функцию execScript, как это возможно для IE?

К примеру, я имею HTML-документ, загруженный в TMozillaBrowser. В HTML-документе сидит функция JavaScript, которую я хочу программно вызвать.

В случае IE это выглядело бы как

(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript('функция_java', 'jscript');

(если ничего не напутал smile) Воот, а Mozilla на parentWindow ругается.
Заранее спасибо.
PM MAIL ICQ   Вверх
December
Дата 7.3.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Попробуй
WebBrowser1.ControlInterface.execScript('code', 'javascript');


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Hooch
Дата 8.3.2006, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 6.3.2006
Где: г. Омск

Репутация: нет
Всего: нет



У ControlInterface нет метода execScript smile
PM MAIL ICQ   Вверх
Asterix777
Дата 6.8.2009, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.8.2009

Репутация: нет
Всего: нет



подскажи как установил Mozilla ActiveX?
PM MAIL   Вверх
Asterix777
  Дата 7.8.2009, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.8.2009

Репутация: нет
Всего: нет



Большое спасибо smile  smile  smile 

А подскажите где взять для Opera ActiveX?
PM MAIL   Вверх
shtorkin
Дата 9.8.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.8.2009

Репутация: нет
Всего: нет



Случайно набрел на топик. Сам искал эту альтернативу, и решение оказалось банальным:

Код

FGecko.Navigate('javascript:your_function();');


Корявый вызов Js-функций внутри HTML оказался отличным решением для программного их вызова.
Кстати, совсем не обязательно устанавливать этот контрол из предлагаемого Exe-шника, более того, там старье. Достаточно скачать свежий Gecko с бинарниками внутри, залить все бинарники в папку проекта, а потом зарегить компонент mozctrl.dll ("regsvr32.exe mozctrl.dll") и все, ваше приложение будет работать, но эту операцию придется выполнять на этапе "установки" вашего детища, в случае его "деинсталяции" надо сделать ("regsvr32.exe /u mozctrl.dll"). Для приложения понадобится тайплиб, приаттаченный к сообщению (тайплиб сформирован при установке ActiveX компонента и может смело использоваться). 

Пример использования:

Код

unit f_GeckoTest;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, OleCtrls, comobj, mozbwsr, ExtCtrls, ComCtrls;

type
  TfGeckoTest = class(TForm)
    txtURL: TEdit;
    btnGo: TButton;
    staMain: TStatusBar;
    pnlGeckoContainer: TPanel;
    procedure btnGoClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FGecko : TMozillaBrowser;
    procedure GeckoNav(sURL: string);
    function  CreateGeckoObject: boolean;
    procedure DoStatusChange(Sender: TObject; const Text: WideString);
  public

  end;

var
  fGeckoTest: TfGeckoTest;

implementation

{$R *.DFM}

procedure TfGeckoTest.FormDestroy(Sender: TObject);
begin
     if Assigned(FGecko) then FGecko.Free;
end;

procedure TfGeckoTest.btnGoClick(Sender: TObject);
begin
     GeckoNav(txtURL.Text);
end;

procedure TfGeckoTest.GeckoNav(sURL: string);
var
   Flags, TargetFrameName, PostData, Headers : OleVariant;
begin
     if not CreateGeckoObject then exit;
     FGecko.Navigate(sURL, Flags, TargetFrameName, PostData, Headers);
end;

function TfGeckoTest.CreateGeckoObject: boolean;
begin
     if Assigned(FGecko) then
     begin
          Result := True;
          exit;
     end;

     Result := False;

     screen.Cursor := crHourglass;
     try
         try
            FGecko := TMozillaBrowser.Create(self);
            with FGecko do
            begin
                 ParentWindow := pnlGeckoContainer.Handle;
                 SetBounds(1, 1, pnlGeckoContainer.Width-1, pnlGeckoContainer.Height-1);
                 OnStatusTextChange := DoStatusChange;
            end;

            Result := True;
         except
             on EOleError do
             begin
                  MessageDlg('Unable to create Gecko object.', mtError, [mbOK], 0);
             end;
         end;
     finally
        screen.Cursor := crDefault;
     end;
end;

procedure TfGeckoTest.DoStatusChange(Sender: TObject; const Text: WideString);
begin
     staMain.SimpleText := Text;
end;


end.


Это сообщение отредактировал(а) shtorkin - 9.8.2009, 22:59

Присоединённый файл ( Кол-во скачиваний: 15 )
Присоединённый файл  mozbwsr.pas 42,83 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0940 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.