コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: tidus30691nexus5/dropzxyz
        void ILifeSpanHandler.OnAfterCreated(IWebBrowser browserControl, IBrowser browser)
        {
            Thread t = new Thread(() =>
            {
                if (browser.IsPopup)
                {
                    Thread.Sleep(7000);
                    browser.CloseBrowser(true);
                }
            });

            t.Start();
        }
コード例 #5
0
            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);
            }
コード例 #6
0
        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);
        }