zoukankan      html  css  js  c++  java
  • CEF3中js调用delphi内部方法

    2015-01-20修改:以下方法不适合delphi7,在CEF3源码中限制了delphi_14 up,对于被我误导的朋友说声抱歉

    在CEF1中JS调用delphi的方法已经贴过:http://www.cnblogs.com/Delphi-Farmer/archive/2013/05/17/3083794.html

    但是CEF3升级了,貌似内核都不一样了,CEF1中的方法失效了,查阅了一些资料,得出如下结果:

    delphi代码:

    interface
    
    uses
      ceflib;//其它
    
    type
    //这里建议用class  不建议用class(TThread)  不然有些地方要报错
    TMyExtension = class(TThread) // or just class, (extension code execute in thread)
      public
      class function _geta:string;
    end;
    
    TCustomRenderProcessHandler = class(TCefRenderProcessHandlerOwn)
    protected
        procedure OnWebKitInitialized; override;
    end;
    
    implementation
    
    class function TMyExtension._geta: string;
    begin
      Result:='调用成功';
    end;
    
    procedure TCustomRenderProcessHandler.OnWebKitInitialized;
    begin
      TCefRTTIExtension.Register('JS_DELPHI', TMyExtension);
    end;
    
    initialization
      CefRenderProcessHandler := TCustomRenderProcessHandler.Create;
    
    end.
    

    JS调用实例:

    <script> alert( JS_DELPHI._geta() ); <script>
    

    这种方式调用时要写注册的类名:JS_DELPHI

    在CEF1中是不需要写类名的,这点要注意

    有研究DECF3的同学加群啊:DCEF共同进步 426277694

  • 相关阅读:
    计算机网络复习(二) 应用层
    JavaScript实战笔记(二) 数组去重
    计算机网络复习(一) 基本介绍
    计算机网络复习
    Git学习笔记(一) 常用命令
    Git学习笔记
    Python实战笔记(三) 多线程
    Python实战笔记(二) 网络编程
    Python学习笔记
    XBox360自制系统的更新(Update)
  • 原文地址:https://www.cnblogs.com/Delphi-Farmer/p/4103708.html
Copyright © 2011-2022 走看看