778cn 发表于 2008-11-8 12:24:45

如何让WebBrowser的alert及confirm以VB的msg来提示信息?

<p>在网上找了只有禁止的方法</p>
<p><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;webBrowser1_Navigated(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;sender,&nbsp;WebBrowserNavigatedEventArgs&nbsp;e)<br/><img id="Codehighlighter1_98_374_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_98_374_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_98_374_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_98_374_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"/><img id="Codehighlighter1_98_374_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_98_374_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_98_374_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_98_374_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_98_374_Closed_Text" style="BORDER-RIGHT: #808080 1px="1px"solid; BORDER-TOP: #808080 1px="1px"solid; DISPLAY: none; BORDER-LEFT: #808080 1px="1px"solid; BORDER-BOTTOM: #808080 1px="1px"solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"/></span><span id="Codehighlighter1_98_374_Open_Text"><span style="COLOR: #000000">{<br/><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IHTMLWindow2&nbsp;win&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(IHTMLWindow2)webBrowser1.Document.Window.DomWindow;<br/><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">window.alert&nbsp;=&nbsp;null;\r\nwindow.confirm&nbsp;=&nbsp;null;\r\nwindow.open&nbsp;=&nbsp;null;\r\nwindow.showModalDialog&nbsp;=&nbsp;null;</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">;<br/><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win.execScript(s,&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">javascript</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">);<br/><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></p>
<p>&nbsp;</p>
<p>怎么自定义用VB的窗口来提示信息呢?</p>

马大哈 发表于 2008-11-9 12:47:57

<p>我开始以为是可以用IDocHostUIHandler等接口来完成,但是查了一下,好象没有找到相应的事件与方法.</p>
<p>&nbsp;</p>
<p>不过既然可以禁止,那又有另一种思路,那就是禁止后分析其代码,再用VB代码显示出来.</p>
<p>&nbsp;</p>
<p>解析这个代码应该比较容易的.试下吧.</p>

778cn 发表于 2008-11-9 16:15:48

感谢老马,可否举例说明

马大哈 发表于 2008-11-9 17:28:26

<p>查找源代码啊</p>
<p>&nbsp;</p>
<p>比如发现alert("测试弹出"),就用MSGBOX弹出里面的内容......</p>

778cn 发表于 2008-11-17 10:15:35

<p>这样执行效率会不会很重且很占资源呢?</p>

马大哈 发表于 2008-11-17 10:53:27

<p>网页里调用这些对话框应该不会太多吧</p>
<p>&nbsp;</p>
<p>要是弹个几百上千,别说资源问题,烦都烦死用户了.</p>
<p>&nbsp;</p>
<p>一般来说除了整人的网页,不会多于十个MSGBOX吧.</p>

778cn 发表于 2008-11-19 11:51:58

可否写一个详细的例子,不胜感激。

witold 发表于 2009-1-5 20:36:32

不知道楼主搞定了没?我也很需要这个,关注了,查了一下,很多和你列举的一样,其实读网页源码,先拦截下来,再读出来也就行了吧?明天试验。
页: [1]
查看完整版本: 如何让WebBrowser的alert及confirm以VB的msg来提示信息?