bool ILifeSpanHandler.OnBeforePopup(IWebBrowser browserControl, 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;
     //browserControl.Load(targetUrl);
     OpenInNewTab?.Invoke(this, new NewTabEventArgs(targetUrl));
     return(true);
 }
        bool ILifeSpanHandler.OnBeforePopup(IWebBrowser browserControl, 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;

            //if (RuntimeSettings.EnableWebDownloadMode) return true; //this prevents all pop-ups.

            OpenInNewTab?.Invoke(this, new NewTabEventArgs(targetUrl));
            return(true);
        }
        // 在弹出窗口之前创建
        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)
        {
            var bc = (ChromiumWebBrowser)chromiumWebBrowser;

            newBrowser = null;
            if (OpenInNewTab != null)
            {
                bc.Dispatcher.Invoke(() =>
                {
                    MainWindow.RefererUrl = chromiumWebBrowser.Address;
                });
                OpenInNewTab.Invoke(this, new NewTabEventArgs(targetUrl));
            }
            return(true);
        }