/// <summary> /// Called after browser created. /// </summary> /// <param name="browser">The browser.</param> void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser) { this.browser = browser; IsBrowserInitialized = true; // By the time this callback gets called, this control // is most likely hooked into a browser Form of some sort. // (Which is what ParentFormMessageInterceptor relies on.) // Ensure the ParentFormMessageInterceptor construction occurs on the WinForms UI thread: if (UseParentFormMessageInterceptor) { this.InvokeOnUiThreadIfRequired(() => { parentFormMessageInterceptor = new ParentFormMessageInterceptor(this); }); } ResizeBrowser(); //If Load was called after the call to CreateBrowser we'll call Load //on the MainFrame if (!initialAddressLoaded && !string.IsNullOrEmpty(Address)) { browser.MainFrame.LoadUrl(Address); } IsBrowserInitializedChanged?.Invoke(this, EventArgs.Empty); }
/// <summary> /// Called after browser created. /// </summary> /// <param name="browser">The browser.</param> void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser) { this.browser = browser; IsBrowserInitialized = true; //TODO: Revert temp workaround for default url not loading if (!string.IsNullOrEmpty(Address)) { browser.MainFrame.LoadUrl(Address); } // By the time this callback gets called, this control // is most likely hooked into a browser Form of some sort. // (Which is what ParentFormMessageInterceptor relies on.) // Ensure the ParentFormMessageInterceptor construction occurs on the WinForms UI thread: if (UseParentFormMessageInterceptor) { this.InvokeOnUiThreadIfRequired(() => { parentFormMessageInterceptor = new ParentFormMessageInterceptor(this); }); } ResizeBrowser(); IsBrowserInitializedChanged?.Invoke(this, new IsBrowserInitializedChangedEventArgs(IsBrowserInitialized)); }
public UCCefSharpX64(string url) { InitializeComponent(); var setting = new CefSettings(); // 设置语言 setting.Locale = "zh-CN"; //cef设置userAgent setting.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"; //配置浏览器路径 setting.BrowserSubprocessPath = $"{CefSharpHelp.PathX64}\\CefSharp.BrowserSubprocess.exe"; Cef.Initialize(setting, true, true); // Add it to the form and fill it to the form window. chromeBrowser = new ChromiumWebBrowser(url); this.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill; chromeBrowser.AddressChanged += (sender, e) => { AddressChanged?.Invoke(sender, e.Address); }; chromeBrowser.StatusMessage += (sender, e) => { StatusMessage?.Invoke(sender, e.Value); }; chromeBrowser.ConsoleMessage += (sender, e) => { ConsoleMessage?.Invoke(sender, new ICefSharp.Model.ConsoleMessageEventArgs(e.Message, e.Source, e.Line)); }; chromeBrowser.LoadingStateChanged += (sender, e) => { LoadingStateChanged?.Invoke(sender, new ICefSharp.Model.LoadingStateChangedEventArgs(e.CanGoForward, e.CanGoBack, e.CanReload, e.IsLoading)); }; chromeBrowser.LoadError += (sender, e) => { LoadError?.Invoke(sender, new ICefSharp.Model.LoadErrorEventArgs((int)e.ErrorCode, e.FailedUrl, e.ErrorText)); }; chromeBrowser.IsBrowserInitializedChanged += (sender, e) => { IsBrowserInitializedChanged?.Invoke(sender, e.IsBrowserInitialized); }; chromeBrowser.TitleChanged += (sender, e) => { TitleChanged?.Invoke(sender, e.Title); }; }
/// <summary> /// Called after browser created. /// </summary> /// <param name="browser">The browser.</param> void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser) { this.browser = browser; IsBrowserInitialized = true; // By the time this callback gets called, this control // is most likely hooked into a browser Form of some sort. // (Which is what ParentFormMessageInterceptor relies on.) // Ensure the ParentFormMessageInterceptor construction occurs on the WinForms UI thread: if (UseParentFormMessageInterceptor) { this.InvokeOnUiThreadIfRequired(() => { parentFormMessageInterceptor = new ParentFormMessageInterceptor(this); }); } ResizeBrowser(); IsBrowserInitializedChanged?.Invoke(this, new IsBrowserInitializedChangedEventArgs(IsBrowserInitialized)); }
/// <summary> /// Called after browser created. /// </summary> /// <param name="browser">The browser.</param> void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser) { _browser = browser; IsBrowserInitialized = true; //If Load was called after the call to CreateBrowser we'll call Load //on the MainFrame if (!_initialAddressLoaded && !string.IsNullOrEmpty(Address)) { browser.MainFrame.LoadUrl(Address); } var host = this.GetBrowserHost(); _browserWindowHandle = host.GetWindowHandle(); //Set Javascript execution this._config.JavaScriptExecutor = new DefaultJavaScriptExecutor(_browser); IsBrowserInitializedChanged?.Invoke(this, EventArgs.Empty); }
/// <summary> /// Called after browser created. /// </summary> /// <param name="browser">The browser.</param> partial void OnAfterBrowserCreated(IBrowser browser) { BrowserHwnd = browser.GetHost().GetWindowHandle(); // By the time this callback gets called, this control // is most likely hooked into a browser Form of some sort. // (Which is what ParentFormMessageInterceptor relies on.) // Ensure the ParentFormMessageInterceptor construction occurs on the WinForms UI thread: if (UseParentFormMessageInterceptor) { this.InvokeOnUiThreadIfRequired(() => { parentFormMessageInterceptor = new ParentFormMessageInterceptor(this); parentFormMessageInterceptor.Moving += (sender, args) => { if (IsBrowserInitialized && !IsDisposed) { browser?.GetHost()?.NotifyMoveOrResizeStarted(); } }; }); } ResizeBrowser(Width, Height); //If Load was called after the call to CreateBrowser we'll call Load //on the MainFrame if (!initialAddressLoaded && !string.IsNullOrEmpty(Address)) { browser.MainFrame.LoadUrl(Address); } if (initialFocus) { browser.GetHost()?.SetFocus(true); } IsBrowserInitializedChanged?.Invoke(this, EventArgs.Empty); }
/// <summary> /// Trigger the <see cref="IsBrowserInitializedChanged"/> event /// </summary> internal void RaiseIsBrowserInitializedChangedEvent() { IsBrowserInitializedChanged?.Invoke(this, EventArgs.Empty); }
private void _browser_IsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs e) { this.InvokeOnUiThreadIfRequired(() => IsBrowserInitializedChanged?.Invoke(sender, e)); }