zoukankan      html  css  js  c++  java
  • delphi ScriptGate 调用JS

    在 FireMonkey 使用 TWebBrowser 调用 Javascript函数并获取返回值以及 JavaScript 中调 Delphi 的函数/过程,普遍都在使用老掉牙的URL重定的方法,还要改 FMX 的源码,相当繁琐。

    现在使用 ScriptGate 可轻易解决这个问题,ScriptGate  支持 Windows, macOS, Android, iOS,非常好用,强烈推荐。
    
    项目地址:https://bitbucket.org/freeonterminate/scriptgate
    
     用法如下:
    

    HTML / JavaScript:



    Call Delphi procedure ;

    Delphi:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    // Binding ScriptGate to WebBrowser and setting the scheme delphi
    // The scheme is also specified on the JavaScript side
    // Same as file :, JavaScript: etc.
    ScriptGate := TScriptGate.Create(Self, WebBrowser1, 'delphi');
    end;

    // Call helloJS () JavaScript.
    // You can also retrieve the return value using an anonymous function.
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    FScriptGate.CallScript(
    'helloJS()',
    procedure(const iResult: String)
    begin
    ShowMessage(iResult); // Show return value
    end
    );
    end;

    // Execute arbitrary JavaScript
    // You can also retrieve the return value using an anonymous function.
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    FScriptGate.Eval(
    'document.getElementsByTagName("html")[0].outerHTML',
    procedure(const iResult: String)
    begin
    ShowMessage(iResult); // Show return value
    end
    );
    end;

    // It is a method published in JavaScript and is called from JavaScript.
    procedure TForm1.HelloDelphi;
    begin
    ShowMessage('Hello, Delphi!');
    end;

  • 相关阅读:
    快速搭建vue2.0开发环境
    node+websocket+react即时匿名通讯聊天室
    12月14日,Progress库
    12月9日,timer库
    12月7日,BOOST库安装及配置
    12月7日开始学习Boost
    is not allowed to connect to this MySQL server解决办法
    清华学堂练习题——传纸条
    makefile经典教程
    启动mysql服务命令
  • 原文地址:https://www.cnblogs.com/chenmfly/p/8558301.html
Copyright © 2011-2022 走看看