Exemple #1
0
 public WBHelper(bool ajax)
 {
     IsForAjaxUse = ajax;
     if (AppSetting.UserSetting.Get("不限制浏览器数量", false))
     {
         if (wbQueue.Count == 0)
         {
             container.InvokeAction(() =>
             {
                 this.WB = new ExtendedWinFormsWebBrowser();
                 container.Controls.Add(this.WB);
                 this.WB.ScriptErrorsSuppressed = true;
                 SubscribEvents();
                 if (ajax)
                 {
                     this.WB.Navigate(wbInitUrl);
                     Task.Delay(50);
                 }
             });
             return;
         }
     }
     this.WB = ajax ? ajaxWbQueue.Dequeue() : wbQueue.Dequeue();
     SubscribEvents();
 }
 protected override void EnterModeInternal(ExtendedWinFormsWebBrowser webBrowser)
 {
     webBrowser.Dock = DockStyle.Fill;
     webBrowser.ScrollBarsEnabled      = false;
     webBrowser.ScriptErrorsSuppressed = true;
     //WB.IsWebBrowserContextMenuEnabled = false;
 }
Exemple #3
0
 public WBHelper(bool ajax)
 {
     IsForAjaxUse = ajax;
     if (AppSetting.UserSetting.Get("不限制浏览器数量", false))
     {
         if (wbQueue.Count == 0)
         {
             container.InvokeAction(async() =>
             {
                 this.WB = new ExtendedWinFormsWebBrowser();
                 container.Controls.Add(this.WB);
                 this.WB.ScriptErrorsSuppressed = true;
                 SubscribEvents();
                 if (ajax)
                 {
                     await SynchronousLoadDocument(wbInitUrl);
                 }
                 IsNew = true;
             });
             return;
         }
     }
     this.WB = ajax ? ajaxWbQueue.Dequeue() : wbQueue.Dequeue();
     SubscribEvents();
 }
        public static ItemBizEventArgs FromWebBrowser(ExtendedWinFormsWebBrowser webBrowser)
        {
            return(null);
            //var args = new ItemBizEventArgs();
            //args.webBrowser = webBrowser;
            //var url = webBrowser.Url.ToString();

            //args.UrlParameters["type"] = UrlHelper.GetIntValue(url, "type");
            //args.UrlParameters["keyword"] = UrlHelper.GetStringValue(url, "keyword");
            //args.UrlParameters["category"] = UrlHelper.GetIntValue(url, "category");
            //args.UrlParameters["supplier"] = UrlHelper.GetIntValue(url, "supplier");
            //args.UrlParameters["promoted"] = UrlHelper.GetIntValue(url, "promoted");
            //args.UrlParameters["order"] = UrlHelper.GetIntValue(url, "order");
            //args.UrlParameters["desc"] = UrlHelper.GetIntValue(url, "desc");
            //args.UrlParameters["page"] = UrlHelper.GetIntValue(url, "page");
            //args.UrlParameters["size"] = UrlHelper.GetIntValue(url, "size");

            //var tables = webBrowser.Document.All.JQuerySelect("table.stock-table");
            //var hiddens = webBrowser.Document.Body.JQuerySelect("input[type=hidden]");
            //foreach (var item in hiddens)
            //{
            //    var name = string.IsNullOrEmpty(item.Name) ? item.Id : item.Name;
            //    args.HiddenInputValues[name] = item.GetAttribute("value");
            //}
            //if (tables.Any())
            //{
            //    //args.TableEntity = new TableEntity(tables[0]);
            //}
            //return args;
        }
Exemple #5
0
 /// <summary>
 /// 开个新的浏览器
 /// </summary>
 public WBHelper()
 {
     container.InvokeAction(() =>
     {
         this.WB = new ExtendedWinFormsWebBrowser();
         container.Controls.Add(this.WB);
         this.WB.ScriptErrorsSuppressed = true;
         SubscribEvents();
         IsNew = true;
     });
 }
Exemple #6
0
 /// <summary>
 /// 进入该模式
 /// </summary>
 public void Enter(ExtendedWinFormsWebBrowser webBrowser)
 {
     webBrowser.Tag                = this;
     webBrowser.ProgressChanged   += WB_ProgressChanged;
     webBrowser.Navigating        += WebBrowser_Navigating;
     webBrowser.NewWindow         += WebBrowser_NewWindow;
     webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted;
     webBrowser.Navigated         += WebBrowser_Navigated;
     this.EnterModeInternal(webBrowser);
     WB            = webBrowser;
     this.IsActive = true;
 }
Exemple #7
0
 public void Dispose()
 {
     UnsubscribEvents();
     if (IsNew)
     {
         container.InvokeAction(container.Controls.Remove, WB);
         WB = null;
     }
     else
     {
         if (IsForAjaxUse)
         {
             ajaxWbQueue.Enqueue(WB);
         }
         else
         {
             wbQueue.Enqueue(WB);
         }
     }
 }
 public IEDownloadManager(Func <string, string> getCookie, ExtendedWinFormsWebBrowser wb)
 {
     this.GetCookie = getCookie;
     this.wb        = wb;
 }
Exemple #9
0
 public WebBrowserMode <TState> TransitionToNext <TState>(WebBrowserMode <TState> state, ExtendedWinFormsWebBrowser wb) where TState : IWebBrowserMode
 {
     this.Leave();
     state.Enter(wb);
     return(state);
 }
Exemple #10
0
 protected abstract void LeaveModeInternal(ExtendedWinFormsWebBrowser webBrowser);
 protected override void LeaveModeInternal(ExtendedWinFormsWebBrowser webBrowser)
 {
     webBrowser.ScrollBarsEnabled      = true;
     webBrowser.ScriptErrorsSuppressed = true;
 }
 protected override void LeaveModeInternal(ExtendedWinFormsWebBrowser webBrowser)
 {
 }