protected override bool OnBeforePopup(CefBrowser browser, CefFrame frame, string targetUrl, string targetFrameName, CefWindowOpenDisposition targetDisposition, bool userGesture, CefPopupFeatures popupFeatures, CefWindowInfo windowInfo, ref CefClient client, CefBrowserSettings settings, ref CefDictionaryValue extraInfo, ref bool noJavascriptAccess) { var e = new BeforePopupEventArgs(frame, targetUrl, targetFrameName, userGesture, popupFeatures, windowInfo, client, settings, noJavascriptAccess); _owner.InvokeIfRequired(() => _owner.OnBeforePopup(e)); if (e.Handled == false) { if (popupFeatures.X.HasValue) { windowInfo.X = popupFeatures.X.Value; } if (popupFeatures.Y.HasValue) { windowInfo.Y = popupFeatures.Y.Value; } if (popupFeatures.Width.HasValue) { windowInfo.Width = popupFeatures.Width.Value; } else { windowInfo.Width = _owner.Width; } if (popupFeatures.Height.HasValue) { windowInfo.Height = popupFeatures.Height.Value; } else { windowInfo.Height = _owner.Height; } windowInfo.SetAsPopup(IntPtr.Zero, $"正在加载 - {_owner.Title}"); client = new PopupBrowserClient(_owner); } return(e.Handled); }