cef3 模擬瀏覽器操作時,會遇到點擊鏈接之后彈出新窗口的情況,
解決:重寫ChromiumWebBrowser 瀏覽器的接口 ILifeSpanHandler
internal class LifeSpanHandler : ILifeSpanHandler { public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser) { return false; } 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; //新窗口為空 var Browser = (ChromiumWebBrowser)chromiumWebBrowser; //獲取瀏覽器對象 Browser.Load(targetUrl); //瀏覽器直接跳轉url return true; //Return true to cancel the popup creation copyright by codebye.com. } }
最后在應用該重寫接口
browser.LifeSpanHandler = new LifeSpanHandler();