【发布时间】:2012-09-14 11:27:24
【问题描述】:
我刚刚开始使用 Delphi 和 Spidermonkey。以前我会将网页加载到 TWebBrowser 组件中,并与加载的网页中的 Javascript 代码进行交互。这很麻烦,因为要将值返回给 delphi,我必须通过 Javascript 代码将它们加载到 DOM 对象中,然后从 Delphi 检查 DOM 以找到该对象并访问它的 value 属性。
使用 Spidermonkey,我可以执行特定的 Javascript 函数并轻松地直接将返回值返回到 Delphi 中吗?如果是这样,请向我指出一个有用的快速代码示例。 Spidermonkey 附带的 3 个样本似乎没有涉及到这一点。
【问题讨论】:
-
不知道如何在 Delphi 中使用(我发现只有相当过时的
bridge project并且没有亲自尝试过)但是您正在寻找JS_CallFunctionName函数,可以使用 @987654323 @. -
@TLama - 再次感谢您找到 javascript 桥接项目。我仍然无法弄清楚如何直接获取返回值,因为在使用引擎对象和调用 JS_CallFunctionName() 的代码之间存在一层桥接类对象。 JS_CallFunctionName() 由主引擎对象在内部出于其他目的调用,但以一种简单的方式执行此操作以简单地执行一个 Javascript 函数并从中获取返回值我还不清楚。现在我正在创建一个隐藏的 TLabel 组件并使用它将值从 Javascript 传输回 Delphi。
标签: javascript delphi spidermonkey