• 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;

  • 相关阅读:
    缓存与清除缓存
    PHP文件缓存与memcached缓存 相比 优缺点是什么呢
    memcached的基本命令(安装、卸载、启动、配置相关)
    54点提高PHP编程效率 引入缓存机制提升性能
    登陆类
    格式化金额数与自动四舍五入
    如何用Ajax传一个数组数据
    CodeIgniter的缓存机制与使用方法
    CI框架缓存的实现原理
    PHP导出数据库方法
  • 原文地址:https://www.cnblogs.com/chenmfly/p/8558301.html
Copyright © 2020-2023  润新知