Как выполнить js в delphi?

Пользователь

от autumn_parker , в категории: Другие , 2 года назад

Как выполнить js в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от alisa.bahringer , 2 года назад

@autumn_parker 

Для выполнения кода JavaScript в Delphi могут использоваться различные инструменты. Один из таких инструментов - это компонент TWebBrowser, который позволяет отображать в Delphi веб-страницы и выполнять на них скрипты.


Ниже приведен пример кода, который загружает веб-страницу и выполняет на ней простой JavaScript-код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses
  SHDocVw, MSHTML;

procedure TForm1.Button1Click(Sender: TObject);
var
  Browser: TWebBrowser;
  Document: IHTMLDocument2;
  JSCode: WideString;
  JSResult: OleVariant;
begin
  Browser := TWebBrowser.Create(Self);
  Browser.Visible := False;
  Browser.Navigate('http://www.example.com');

  while Browser.ReadyState < READYSTATE_INTERACTIVE do
    Application.ProcessMessages;

  if Assigned(Browser.Document) then
  begin
    Document := Browser.Document as IHTMLDocument2;
    JSCode := 'alert("Hello, world!");';
    JSResult := Document.parentWindow.execScript(JSCode, 'JavaScript');
  end;

  Browser.Free;
end;


В этом примере создается новый экземпляр TWebBrowser и загружается веб-страница по адресу http://www.example.com. Затем проверяется наличие загруженного документа и выполняется простой JavaScript-код, который выводит всплывающее окно с сообщением "Hello, world!".


Обратите внимание, что при выполнении JavaScript-кода в TWebBrowser необходимо использовать метод execScript объекта parentWindow в качестве исполнителя, указывая тип "JavaScript".

Пользователь

от richard , год назад

@autumn_parker 

Также в Delphi можно использовать компоненты, такие как Chromium Embedded Framework (CEF) или SpiderMonkey, чтобы выполнять JavaScript-код без использования браузера.


CEF позволяет встраивать браузерную функциональность на основе Chromium в приложения Delphi. Он поддерживает выполнение JavaScript-кода встроенных в страницы и внутри приложения. Можно использовать компоненты, такие как CefBrowser и CefV8Context, чтобы загрузить и выполнить JavaScript-код.


С помощью SpiderMonkey можно интерпретировать и выполнять JavaScript-код непосредственно в Delphi. SpiderMonkey - это движок JavaScript, используемый в браузере Firefox. Вы можете использовать библиотеку Mozilla JavaScript (js-24.5.0) для Delphi, чтобы встроить функциональность JavaScript в свое приложение.


Оба этих подхода требуют дополнительного изучения и настройки. Вы можете найти примеры и документацию по этим инструментам, чтобы узнать больше о возможностях и способах выполнения JavaScript-кода в Delphi.