如何使用TMS Web Core从 Delphi 执行JavaScript代码?

7y4bm7vi  于 2023-09-29  发布在  Java
关注(0)|答案(2)|浏览(154)

我已经创建了一个简单的应用程序,上面有一个TWebEdit和一个TWebButton。我想从按钮中调用/执行JavaScript alert()函数,该函数将提醒来自TWebEdit的文本。
我该怎么做?
显然,我不能只做下面的代码,因为这不是有效的 Delphi :

procedure TForm2.WebButton1Click(Sender: TObject);
begin
  alert(WebEdit1.Text);
end;

如何在此按钮单击事件中调用JavaScript代码?

unhi4e5o

unhi4e5o1#

你可以直接在 Delphi 中使用asm代码块调用JavaScript代码:

procedure TForm2.WebButton1Click(Sender: TObject);
var
  AlertText: String;
begin
  AlertText := WebEdit1.Text;

  asm
    alert(AlertText);
  end;
end;

这将工作,可以看到下面的截图:

下面是另一个使用换行符的例子:

procedure TForm2.WebButton1Click(Sender: TObject);
var
  AlertText: String;
begin
  AlertText := WebEdit1.Text;

  asm
    alert('Your entered text is: \n\n' + AlertText);
  end;
end;

w1jd8yoj

w1jd8yoj2#

TMS Web Core有三个全局变量,您可以使用它们来访问JavaScript中documentwindowconsole对象的常用功能。
下面是它们在Web单元中被声明为全局变量的方式:

var
  document: TJSDocument;
  window: TJSWindow;
  console: TJSConsole;

使用这些全局变量,您可以直接从 Delphi 代码访问这些对象中的大多数功能。
举例来说:

procedure TForm8.WebButton1Click(Sender: TObject);
begin
  document.title := 'Hello World!';
  window.alert(document.title);
end;

相关问题