Beispiel #1
0
        public UCChorme()
        {
            InitializeComponent();

            if (this.IsDesignMode())
            {
                return;
            }

            //动态创建,以免可视化时组件异常
            Chrome             = new ChromiumWebBrowser();
            Chrome.MenuHandler = new Handlers.ChromeMenuHandler();
            Chrome.RegisterJsObject("lw", new ChormeScripts(this), new CefSharp.BindingOptions()
            {
                CamelCaseJavascriptNames = false
            });
            Chrome.FrameLoadStart += (s, e) =>
            {
                LoadStart?.Invoke(s, e);
            };
            Chrome.FrameLoadEnd += (s, e) =>
            {
                LoadEnd?.Invoke(s, e);
            };
            Chrome.LoadError += (s, e) =>
            {
                LoadError?.Invoke(s, e);
            };
            this.root.Children.Add(Chrome);
        }
Beispiel #2
0
        private void InitializeSmartEvent()
        {
            // focus dummy
            _focusIn  = new SmartEvent(this, "focused");
            _focusOut = new SmartEvent(this, "unfocused");

            _focusIn.On  += (s, e) => { ((WebView)s).SetFocus(true); };
            _focusOut.On += (s, e) => { ((WebView)s).SetFocus(false); };

            _loadStarted             = new SmartEvent(this, _realHandle, "load,started");
            _loadFinished            = new SmartEvent(this, _realHandle, "load,finished");
            _loadError               = new SmartEvent <SmartCallbackLoadErrorArgs>(this, _realHandle, "load,error", SmartCallbackLoadErrorArgs.CreateFromSmartEvent);
            _titleChanged            = new SmartEvent <SmartCallbackArgs>(this, _realHandle, "title,changed", SmartCallbackArgs.CreateFromSmartEvent);
            _urlChanged              = new SmartEvent <SmartCallbackArgs>(this, _realHandle, "url,changed", SmartCallbackArgs.CreateFromSmartEvent);
            _contextMenuCustomize    = new SmartEvent <ContextMenuCustomizeEventArgs>(this, _realHandle, "contextmenu,customize", ContextMenuCustomizeEventArgs.CreateFromSmartEvent);
            _contextMenuItemSelected = new SmartEvent <ContextMenuItemEventArgs>(this, _realHandle, "contextmenu,selected", ContextMenuItemEventArgs.CreateFromSmartEvent);
            _policyNavigationDecide  = new SmartEvent <NavigationPolicyEventArgs>(this, _realHandle, "policy,navigation,decide", NavigationPolicyEventArgs.CreateFromSmartEvent);
            _policyNewWindowDecide   = new SmartEvent <NewWindowPolicyEventArgs>(this, _realHandle, "policy,newwindow,decide", NewWindowPolicyEventArgs.CreateFromSmartEvent);
            _policyResponseDecide    = new SmartEvent <ResponsePolicyEventArgs>(this, _realHandle, "policy,response,decide", ResponsePolicyEventArgs.CreateFromSmartEvent);

            _loadStarted.On             += (s, e) => { LoadStarted?.Invoke(this, EventArgs.Empty); };
            _loadFinished.On            += (s, e) => { LoadFinished?.Invoke(this, EventArgs.Empty); };
            _loadError.On               += (s, e) => { LoadError?.Invoke(this, e); };
            _titleChanged.On            += (s, e) => { TitleChanged?.Invoke(this, e); };
            _urlChanged.On              += (s, e) => { UrlChanged?.Invoke(this, e); };
            _policyNavigationDecide.On  += (s, e) => { NavigationPolicyDecideRequested?.Invoke(this, e); };
            _policyNewWindowDecide.On   += (s, e) => { NewWindowPolicyDecideRequested?.Invoke(this, e); };
            _policyResponseDecide.On    += (s, e) => { ResponsePolicyDecideRequested?.Invoke(this, e); };
            _contextMenuItemSelected.On += (s, e) => { ContextMenuItemSelected?.Invoke(this, e); };
            _contextMenuCustomize.On    += (s, e) => { _contextMenuCustomizeDelegate?.Invoke(e.Menu); };
        }
        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); };
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectDefinition" /> class.
 /// </summary>
 /// <param name="path">The path.</param>
 /// <param name="outputDirectory">The output directory.</param>
 /// <param name="globalProperties">The global properties.</param>
 /// <param name="assemblyResolver">The assembly resolver.</param>
 /// <param name="projectCollection">The project collection.</param>
 public ProjectDefinition(string path, string outputDirectory = null, IDictionary <string, string> globalProperties = null, IAssemblyResolver assemblyResolver = null, ProjectCollection projectCollection = null)
 {
     ProjectPath        = path;
     _assemblyResolver  = assemblyResolver ?? new AssemblyResolver();
     _projectCollection = projectCollection ?? new ProjectCollection();
     _projectDirectory  = Path.GetDirectoryName(path);
     _globalProperties  = globalProperties;
     try
     {
         Project = new Project(path, globalProperties, null, projectCollection);
     }
     catch (Exception e)
     {
         LoadError?.Invoke(this, new ProjectDefinitionLoadErrorEventArgs(e, this));
     }
     _outputDirectory = outputDirectory ?? Path.GetDirectoryName(TargetPath);
 }
Beispiel #5
0
        private void InitializeSmartEvent()
        {
            // focus dummy
            _focusIn  = new SmartEvent(this, "focused");
            _focusOut = new SmartEvent(this, "unfocused");

            _focusIn.On  += (s, e) => { ((WebView)s).SetFocus(true); };
            _focusOut.On += (s, e) => { ((WebView)s).SetFocus(false); };

            _loadStarted  = new SmartEvent(this, _realHandle, "load,started");
            _loadFinished = new SmartEvent(this, _realHandle, "load,finished");
            _loadError    = new SmartEvent <SmartCallbackLoadErrorArgs>(this, _realHandle, "load,error", SmartCallbackLoadErrorArgs.CreateFromSmartEvent);
            _titleChanged = new SmartEvent <SmartCallbackArgs>(this, _realHandle, "title,changed", SmartCallbackArgs.CreateFromSmartEvent);
            _urlChanged   = new SmartEvent <SmartCallbackArgs>(this, _realHandle, "url,changed", SmartCallbackArgs.CreateFromSmartEvent);

            _loadStarted.On  += (s, e) => { LoadStarted?.Invoke(this, EventArgs.Empty); };
            _loadFinished.On += (s, e) => { LoadFinished?.Invoke(this, EventArgs.Empty); };
            _loadError.On    += (s, e) => { LoadError?.Invoke(this, e); };
            _titleChanged.On += (s, e) => { TitleChanged?.Invoke(this, e); };
            _urlChanged.On   += (s, e) => { UrlChanged?.Invoke(this, e); };
        }
Beispiel #6
0
 internal protected virtual void OnLoadError(LoadErrorEventArgs e)
 {
     LoadError?.Invoke(this, e);
 }
Beispiel #7
0
 /// <summary>
 /// Handles the <see cref="E:LoadError" /> event.
 /// </summary>
 /// <param name="args">The <see cref="LoadErrorEventArgs"/> instance containing the event data.</param>
 void IWebBrowserInternal.OnLoadError(LoadErrorEventArgs args)
 {
     LoadError?.Invoke(this, args);
 }
Beispiel #8
0
 /// <summary>
 /// The on load error.
 /// </summary>
 /// <param name="eventArgs">
 /// The event args.
 /// </param>
 public void OnLoadError(LoadErrorEventArgs eventArgs)
 {
     LoadError?.Invoke(this, eventArgs);
 }
 public override void DidFailNavigation(WKWebView webView, WKNavigation navigation, NSError error)
 {
     LoadError?.Invoke(error.DebugDescription);
 }
Beispiel #10
0
 /// <summary>
 /// 
 /// </summary>
 private void OnLoadError(string message)
 {
     LoadError?.Invoke(this.FileName, message);
 }
        /// <summary>
        /// Handles the <see cref="E:LoadError" /> event.
        /// </summary>
        /// <param name="args">The <see cref="LoadErrorEventArgs"/> instance containing the event data.</param>
        void IWebBrowserInternal.OnLoadError(LoadErrorEventArgs args)
        {
            LoadError?.Invoke(this, args);

            initialLoadAction?.Invoke(null, args.ErrorCode);
        }
Beispiel #12
0
 /// <summary>
 /// Handles the <see cref="E:LoadError" /> event.
 /// </summary>
 /// <param name="args">The <see cref="LoadErrorEventArgs"/> instance containing the event data.</param>
 internal void OnLoadError(LoadErrorEventArgs args)
 {
     LoadError?.Invoke(this, args);
 }
Beispiel #13
0
 internal void OnLoadError(CefFrame frame, CefErrorCode errorCode, string errorText, string failedUrl)
 {
     LoadError?.Invoke(this, frame, errorCode, errorText, failedUrl);
 }
 public override void OnReceivedError(Android.Webkit.WebView view, IWebResourceRequest request, WebResourceError error)
 {
     LoadError?.Invoke(error.Description);
     base.OnReceivedError(view, request, error);
 }