当前位置: 代码迷 >> ASP.NET >> 用c#自带控件webBrowser开发浏览器程序,怎么阻止弹出窗口(window.open)
  详细解决方案

用c#自带控件webBrowser开发浏览器程序,怎么阻止弹出窗口(window.open)

热度:8316   发布时间:2013-02-25 00:00:00.0
用c#自带控件webBrowser开发浏览器程序,如何阻止弹出窗口(window.open)

如下 有一个html文件
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 

  <script language="JavaScript" type="text/javascript">

  </script>

</head>
<body >
  <form id="Form1" method="post" runat="server">
  <table id="main" style="width:100%;" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr><td style="height:90px;" OnClick="window.open('http://www.baidu.com')">aaaaaaaa
  </td></tr>
   
  </table>
<a href="http://www.google.com" target="_blank">bbbbbbbbbb</a>
  </form>
</body>
</html>
  页面中有一个 aaaa 和 一个bbbb
点击aaaa 时执行脚本"window.open("百度")" 打开百度  
点击bbbb时(是个超链接)打开"谷歌", 现在在程序中做如下处理
void webBrowser_NewWindow(object sender, CancelEventArgs e) 当webbrowser有新窗口打开时.
  {
   
  WebBrowser web = (WebBrowser)sender;
  string strPageUrl = web.StatusText;  
  CreatePages(strPageUrl, web.DocumentTitle); //创建新的webbrowser(不用ie弹出)
  e.Cancel = true;
  }
现在的问题是 当点击bbbbb(超链接弹出时)可以截取到url地址,并在新的webbrwser对象中打开
点击aaa用window.open()打开时能进入事件,但不能截取到url地址!!  
求解决方案!


------解决方案--------------------------------------------------------
在新窗口的BeforeNavigate里面获得url
你的新窗口的代码不对,给window.open的返回值是null而不是新的窗口,这在有判断window.open返回值的网站上可能造成问题。正规的方法是捕获NewWindow2,参考
http://support.microsoft.com/kb/815714
------解决方案--------------------------------------------------------
怎么那么冷清啊。。帮你顶了。。。
------解决方案--------------------------------------------------------
过来帮你顶下》。。。。。。。。。。。
  相关解决方案