如何解决如何使用cefsharp在选项卡控件中打开链接标签?
我刚刚在 Windows 窗体应用程序中使用 Cefsharp 库开发了一个类似 Web 浏览器的应用程序。我的浏览器有几个选项卡,但是每当用户单击具有 _blank 属性的“链接标签”时,应用程序都会在单独的窗口中打开一个新链接,尽管我想在选项卡控件中的新选项卡中打开链接。
我用于我的应用程序的内容:
-
C# windows 窗体应用程序
-
来自 Cefsharp 库的 ChromiumWebBrowser 类
如果有人能提供帮助,我会很高兴。
解决方法
我刚刚查看了文档并发现了问题。
- 您需要使用 LifeSpanHandler 类来中断弹出窗口并通过将 newBrowser 指定为“null”来禁止打开新浏览器,然后您就可以执行您的指令了。
- 如果您希望在 self 选项卡中打开窗口,只需删除以下代码中的注释。
这是我为我的问题所做的:
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;
}
}
希望这对你有用。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。