如何使用 cefsharp 在选项卡控件中打开 link 标签?

How to open a link tags in tab control using cefsharp?

我刚刚在 windows 表单应用程序中使用 Cefsharp 库开发了一个类似 Web 浏览器的应用程序。我的浏览器有几个选项卡,但每当用户单击带有 _blank 的 属性 的 'a link tags' 时,应用程序都会在单独的 window 中打开一个新的 link,尽管我想打开 links 改为在选项卡控件的新选项卡中。

我在申请中使用的内容:

如果有人能提供帮助,我会很高兴。

我刚刚查看了文档并发现了问题。

  • 您需要使用 LifeSpanHandler class 来中断弹出窗口并通过将 newBrowser 分配给 'null' 来禁用打开新浏览器然后您将能够执行您的指示。
  • 如果您希望 windows 在自己的选项卡中打开,只需删除下面代码中的注释即可。

以下是我针对我的问题所做的工作:

 public class LifespanHandler : ILifeSpanHandler
    {

        bool ILifeSpanHandler.OnBeforePopup(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
        {

            Program.Form.Invoke(new Action(() => Program.Form.newPage(targetUrl)));

            //browser.MainFrame.LoadUrl(targetUrl);

            newBrowser = null;
            return true;
        }
    }

希望这对您有用。 :)