CefSharp在打开新窗口的时候会新建一个窗口程序用来显示页面,多了之后很恶心,在网上找了个办法阻止。
页面加载后添加
Browser1.LifeSpanHandler = new LifeSpanHandler();
internal class LifeSpanHandler : ILifeSpanHandler
{
public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
return false;//返回true会导致弹出的窗口关不掉
}
public void OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
public void OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
public bool 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)
{
newBrowser = null;
return true;//返回true才会阻止弹出窗口,返回false无效
}
}