C# 如何使用cefsharp在选项卡控件中打开链接标签?
我刚刚在windows窗体应用程序中使用了Cefsharp库,开发了一个类似web浏览器的应用程序。我的浏览器有几个选项卡,但每当用户单击属性为_blank的“链接标记”时,应用程序就会在一个单独的窗口中打开一个新链接,尽管我希望在选项卡控件的新选项卡中打开链接 我在应用程序中使用的内容:C# 如何使用cefsharp在选项卡控件中打开链接标签?,c#,cefsharp,chromium-embedded,C#,Cefsharp,Chromium Embedded,我刚刚在windows窗体应用程序中使用了Cefsharp库,开发了一个类似web浏览器的应用程序。我的浏览器有几个选项卡,但每当用户单击属性为_blank的“链接标记”时,应用程序就会在一个单独的窗口中打开一个新链接,尽管我希望在选项卡控件的新选项卡中打开链接 我在应用程序中使用的内容: C#windows窗体应用程序 Cefsharp库中的ChromiumWebBrowser类 如果有人能提供帮助,我将非常高兴。我刚刚查阅了文档,发现了问题所在 您需要使用LifeSpanHandl
- C#windows窗体应用程序
- Cefsharp库中的ChromiumWebBrowser类
如果有人能提供帮助,我将非常高兴。我刚刚查阅了文档,发现了问题所在
- 您需要使用LifeSpanHandler类中断弹出窗口,并通过将newBrowser指定为“null”来禁用打开新浏览器,然后您就可以执行指令了
- 如果您想在“自我”选项卡中打开窗口,只需删除下面代码中的注释
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;
}
}
希望这对您有用。:)