-1

这是 ceflib.pas 代码 CEFLIB.PAS


所以在TCefRenderProcessHandlerOwn类中,声明了OnBeforeNavigation函数。
正如我们所看到的,它每次都返回 False 并且它很糟糕,因为如果链接被它打开,MouseWheelClick它将不会在新标签中打开这个链接,我想修复它。
问题是:如何重写这个函数?
TNX

4

1 回答 1

2

我从未使用过这个库,但在我看来,您需要执行以下操作:

  1. 定义一个派生自TCefRenderProcessHandlerOwn.
  2. 覆盖您有兴趣自定义的方法。在这种情况下OnBeforeNavigation
  3. 在初始化时,实例化您的类并将其分配给CefRenderProcessHandler全局变量。

 

type 
  TMyRenderProcessHandler = class(TCefRenderProcessHandlerOwn)
  protected
    function OnBeforeNavigation(const browser: ICefBrowser; 
      const frame: ICefFrame; const request: ICefRequest; 
      navigationType: TCefNavigationType; isRedirect: Boolean): Boolean;
      override;
  end;

function TMyRenderProcessHandler.OnBeforeNavigation(const browser: ICefBrowser; 
  const frame: ICefFrame; const request: ICefRequest; 
  navigationType: TCefNavigationType; isRedirect: Boolean): Boolean;
begin
  .... your code goes here
end;      

initialization
  CefRenderProcessHandler := TMyRenderProcessHandler.Create;

该项目带有演示该技术的演示程序。我建议您研究这些演示,以了解有关这个非常强大的组件的更多信息。

于 2013-08-06T14:43:23.010 回答