webbrowser屏蔽弹出窗口的问题
2014-06-04 11:55
176 查看
用webbrowser访问网站时,如果网站有alert,window.open之类的JS,会在桌面上出现弹出框,并且必须点掉才会完成访问.
我在网上找了屏蔽这些弹出框的方法,就是添加事件Navigated,在里面重新定义这些函数.像下面这样
我在自己电脑上试的时候发现确实有效果,不加的话访问有弹出框的网站就会弹出内容.加了以后就不会弹出,可以正常访问完成了.
但把生成的EXE文件放到别人电脑上,他们运行之后都依然会弹出提示框.并且他们装的系统,和配置,跟我自己电脑上的好像也都差不多.
目前我测试发现的规律是,似乎安装了visual studio的电脑就会像我自己电脑一样不弹窗,没安装的就会弹,即使他们装了.net framework也是会弹窗的.
我知道原因了,原来是安装了.NET SDK的机器上自带Microsoft.mshtml.dll.
只安装了.NET framework的机器上没有,需要把
C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
放到和EXE文件同一目录下,才可以
转自:http://bbs.csdn.net/topics/370068168
我在网上找了屏蔽这些弹出框的方法,就是添加事件Navigated,在里面重新定义这些函数.像下面这样
WebBrowser wbWebBrowser = new WebBrowser(); wbWebBrowser.Navigated += new WebBrowserNavigatedEventHandler(wbWebBrowser_Navigated); ...... private void wbWebBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e) //屏蔽alert等弹框弹窗的情况 { WebBrowser wbWebBrowser = (WebBrowser)sender; StringBuilder sb = new StringBuilder(); sb.AppendLine("function alert(){return;}"); sb.AppendLine("function confirm(){return;}"); sb.AppendLine("function showModalDialog(){return;}"); sb.AppendLine("function window.open(){return;}"); sb.AppendLine("function prompt(){return;}"); string strJS = sb.ToString(); IHTMLWindow2 win = (IHTMLWindow2)wbWebBrowser.Document.Window.DomWindow; win.execScript(strJS, "Javascript"); win = null; }
我在自己电脑上试的时候发现确实有效果,不加的话访问有弹出框的网站就会弹出内容.加了以后就不会弹出,可以正常访问完成了.
但把生成的EXE文件放到别人电脑上,他们运行之后都依然会弹出提示框.并且他们装的系统,和配置,跟我自己电脑上的好像也都差不多.
目前我测试发现的规律是,似乎安装了visual studio的电脑就会像我自己电脑一样不弹窗,没安装的就会弹,即使他们装了.net framework也是会弹窗的.
我知道原因了,原来是安装了.NET SDK的机器上自带Microsoft.mshtml.dll.
只安装了.NET framework的机器上没有,需要把
C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
放到和EXE文件同一目录下,才可以
转自:http://bbs.csdn.net/topics/370068168
相关文章推荐
- C# WebBrowser中屏蔽弹出窗口及脚本错误提示
- ie屏蔽flash弹出窗口问题的解决办法
- C#Webbrowser中屏蔽弹出窗口及脚本错误提示
- ie屏蔽flash弹出窗口问题的解决办法
- C#Webbrowser中屏蔽弹出窗口及脚本错误提示
- 黄聪:C#禁止Webbrowser中的脚本错误提示,自动屏蔽弹出窗口
- WPF的WebBrowser屏蔽弹出脚本错误窗口
- C#Webbrowser中屏蔽弹出窗口及脚本错误提示
- ie屏蔽flash弹出窗口问题的解决办法
- C#Webbrowser中屏蔽弹出窗口及脚本错误提示
- C#Webbrowser中屏蔽弹出窗口及脚本错误提示
- 黄聪:C#禁止Webbrowser中的脚本错误提示,自动屏蔽弹出窗口
- C# Webbrowser中屏蔽弹出窗口及脚本错误提示
- WebBrowser中屏蔽弹出窗口
- WPF中,如何屏蔽WebBrowser弹出的脚本错误窗口?
- 关于WebBrowser中弹出窗口(alert,confirm)的问题
- WPF的WebBrowser屏蔽弹出脚本错误窗口
- javascript弹出窗口问题总结
- 解决双击硬盘弹出新窗口问题
- javascript弹出窗口问题总结