此问题的解决方案从 https://groups.google.com/forum/#!topic/delphichromiumembedded/xzshOr-pjnU 获得。

 

procedure TBrowser.ChromiumBrowserBeforePopup(Sender: TObject;
  const browser: ICefBrowser; const frame: ICefFrame; const targetUrl,
  targetFrameName: ustring; var popupFeatures: TCefPopupFeatures;
  var windowInfo: TCefWindowInfo; var client: ICefClient;
  var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
  out Result: Boolean);
begin
  if targetUrl = 'about:blank' then
  begin
    Result := false
  end
  else
  begin
    //ChromiumBrowser.Load(targetUrl);
    PopupUrl := targetUrl;
    SendMessage(Self.Handle, WM_COMMAND, $EF3A, 0);
    Result := true;
  end;
end;

声明一个事件用于接收消息。

procedure CatchPopup(var msg: TMessage); message WM_COMMAND;
procedure TBrowser.CatchPopup(var msg: TMessage);
begin
  if Msg.Msg = WM_COMMAND then
  begin
    if Msg.WParam = $EF3A then
    begin
      Framework.CreateTab(2, PopupUrl);
    end;
  end;
end;

 

相关文章:

  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-06-28
  • 2021-12-04
  • 2021-11-17
  • 2021-11-17
猜你喜欢
  • 2021-12-06
  • 2021-11-08
  • 2021-11-22
  • 2021-08-27
  • 2022-02-02
  • 2021-09-26
  • 2022-12-23
相关资源
相似解决方案