【问题标题】:Callback from Firemonkey WebBrowser JavaScript code来自 Firemonkey WebBrowser JavaScript 代码的回调
【发布时间】:2015-05-05 07:06:53
【问题描述】:

如何从TTMSFMXWebBrowser中的JavaScript代码调用Firemonkey代码(回调)?

我可以从 Firemonkey 执行 JavaScript 代码,但是如何从 JavaScript 进行回调或调用 Firemonkey 代码/事件?

有可能吗?

【问题讨论】:

    标签: javascript delphi firemonkey


    【解决方案1】:

    因此,您可以在 URL 中传递自定义字符串或类似这样的任何数据:

    myurl://dostuff?a=b&c=d

    if (Copy(S, 1, 8)='myurl://') then
    begin
    // now you know it is a callback and not a real URL
    // if it is a callback you can cancel the load using the below code
    // and then process the callback
    end;
    

    TWebBrowser:

    procedure TForm2.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject;
      const URL: string);
    begin
    // check URL and
    WebBrowser1.Stop;
    end;
    

    TTMSFMXWeb浏览器:

    procedure TForm2.TMSFMXWebBrowser1BeforeNavigate(Sender: TObject;
    var Params: TTMSFMXCustomWebBrowserBeforeNavigateParams);
    begin
    // Get your result from Params.URL and cancel via Params.Cancel := True;
    end;
    

    【讨论】:

      【解决方案2】:

      你应该在问之前先试试谷歌......

      Firemonkey WebBrowser 是一个包装器,它依赖于平台。

      查看此示例以了解 Windows 上的 TWebBrowser
      http://www.delphidabbler.com/articles?article=22&part=1

      由于 WebBrowser 是一个包装器,它不会公开所有功能。 您必须根据自己的目的对其进行一些修改。

      您也可以查看这些主题
      Callback Delphi function from TWebBrowser by javascript on Delphi XE6 for all platforms (including iOS, ANDROID)?
      http://delphi.radsoft.com.au/2013/11/adding-javascript-processing-capability-to-twebbrowser-in-ios/

      【讨论】:

        猜你喜欢
        • 2018-06-27
        • 1970-01-01
        • 2013-01-08
        • 1970-01-01
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多