请问webBrower打开的网页,在里面点链接,,不给他跳出到方面的方法

解决方案 »

  1.   

    在beforenavigate方法中判断连接地址,然后禁止掉!
      

  2.   

    我在微软封装给.net用的webbrowser中找不到这个事件,这个事件是axWebBrowser的,你可以用它的Navigating 事件!
    下面的代码示例演示如何使用 Navigating 事件的处理程序在未填写完网页窗体的情况下取消导航。
    private void webBrowser1_Navigating(object sender, 
        WebBrowserNavigatingEventArgs e)
    {
        System.Windows.Forms.HtmlDocument document =
            this.webBrowser1.Document;    if (document != null && document.All["userName"] != null && 
            String.IsNullOrEmpty(
            document.All["userName"].GetAttribute("value")))
        {
            e.Cancel = true;
            System.Windows.Forms.MessageBox.Show(
                "You must enter your name before you can navigate to " +
                e.Url.ToString());
        }
    }
      

  3.   

    WebBrowserNavigatingEventArgs 事件参数中有一个Url成员,用于获取要浏览的地址,你可以判断后将
    e.Cancel=true;就表示取消访问!
      

  4.   

    屏蔽链接
     this.WebBrowser1.AllowNavigation = false;
    取消WebBrowser控件的NewWindow操作:
      this.WebBrowser1.NewWindow += new CancelEventHandler(WebBrowser1_NewWindow);
      private void WebBrowser1_NewWindow(object sender, CancelEventArgs e)
      {
      e.Cancel = true;
      }
    或解析HTML 
     HtmlElementCollection coll_a = doc.GetElementsByTagName("A");
      for (int i = 0; i < coll_a.Count; i++)
      {
      if (coll_a[i].OuterHtml.IndexOf("") > 1)
      {
      coll_a[i].SetAttribute("target", "_self");
      }
      }
      

  5.   

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                foreach (HtmlElement link in this.webBrowser1.Document.Links)
                {
                    link.SetAttribute("target", "_self");
                }
                foreach (HtmlElement form in this.webBrowser1.Document.Forms)
                {
                    form.SetAttribute("target", "_self");
                }
            }