bool IRequestHandler.OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect) { // If the url if (!Properties.Settings.Default.FIsOutApplication || request.Url.ToString().Contains("messenger.com") || request.Url.ToString().Contains("devtools://devtools/devtools_app.html")) { if (request.Url.ToString().Contains("facebook.com")) { // Open Google in Default browser Library.EndFace = true; Library.changeBrowser(1, request.Url.ToString()); browser.CloseBrowser(true); Library.stopPIP(); return(true); } else { // Url except open in CefSharp's Chromium browser return(false); } } else { System.Diagnostics.Process.Start(request.Url); browser.CloseBrowser(true); return(true); } }
private void OnDownloadUpdatedFired(object sender, DownloadItem e) { //DownloadHandler downloadHandler = (DownloadHandler)sender; IBrowser browser = (IBrowser)sender; //this.UpdateDownloadAction("OnDownloadUpdated", e); // //TODO: 显示下载进度... // if (e.IsCancelled || e.IsComplete) { if (e.IsComplete) { string[] fileNames = e.FullPath.Split('\\'); string fileName = fileNames.Length > 0 ? fileNames[fileNames.Length - 1] : ""; string message = string.Format(ResourceCulture.GetString("Cefsharp_DownloadComplete"), fileName); MessageBox.Show(message, ResourceCulture.GetString("GeneralTitle_Prompt")); } if (browser.IsPopup) { browser.CloseBrowser(true); } } }
public bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect) { if (request.TransitionType == TransitionType.LinkClicked) { System.Diagnostics.Process.Start(request.Url); browser.CloseBrowser(true); return(true); } return(false); }
void ILifeSpanHandler.OnAfterCreated(IWebBrowser browserControl, IBrowser browser) { Thread t = new Thread(() => { if (browser.IsPopup) { Thread.Sleep(7000); browser.CloseBrowser(true); } }); t.Start(); }
protected override bool OnProtocolExecution(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request) { if (request.Url.Contains("Http") || request.Url.Contains("Https")) { return(false); } if (browser.IsPopup) { browser.CloseBrowser(false); } else { frame.LoadUrl(frame.Url); } return(true); }
CefReturnValue IRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) { // Example of how to set Referer // Same should work when setting any header try { if ((request.Url.StartsWith("https://msi/") || request.Url.StartsWith("https://bpsolutiontemplates.com/")) && request.Url != "https://bpsolutiontemplates.com/?name=Microsoft-SCCMTemplate") { var appdir = System.Reflection.Assembly.GetEntryAssembly().Location.Replace("Microsoft.Bpst.App.Msi.exe", ""); request.Url = request.Url.Replace("https://msi/", appdir + "\\"); request.Url = request.Url.Replace("https://bpsolutiontemplates.com/", appdir + "\\"); } if (request.Url.StartsWith("http://localhost") && !request.Url.Contains("api")) { var uriSplit = request.Url.Split('/'); var uri = uriSplit[0] + "/" + uriSplit[1] + "/" + uriSplit[2] + "/"; request.Url = request.Url.Replace(uri, System.Reflection.Assembly.GetEntryAssembly().Location.Replace("Microsoft.Deployment.Msi.exe", "")); } if (request.Url.StartsWith("mailto", StringComparison.OrdinalIgnoreCase)) { return(CefReturnValue.Cancel); } if (browser.IsPopup) { System.Diagnostics.Process.Start(request.Url); browser.CloseBrowser(true); return(CefReturnValue.Cancel); } if (!callback.IsDisposed) { using (callback) { if (request.Method == "POST") { using (var postData = request.PostData) { if (postData != null) { var elements = postData.Elements; var charSet = request.GetCharSet(); foreach (var element in elements) { if (element.Type == PostDataElementType.Bytes) { var body = element.GetBody(charSet); } } } } } } } } catch { } return(CefReturnValue.Continue); }