首页 > 代码库 > CEF3中js调用delphi内部方法

CEF3中js调用delphi内部方法

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

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

delphi代码:

interfaceuses  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;implementationclass 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的同学加QQ啊:316454904

CEF3中js调用delphi内部方法