当前位置: 代码迷 >> VB Dotnet >> WebBrowser模拟其他浏览器但弹窗的有关问题
  详细解决方案

WebBrowser模拟其他浏览器但弹窗的有关问题

热度:35   发布时间:2016-04-25 02:05:51.0
WebBrowser模拟其他浏览器但弹窗的问题
WebBrowser1.Navigate("http://", 0, Nothing, "User-Agent:Mozilla/5.0  (Linux;  U;  Android  2.3;  zh-CN;  HTC_DesireS)  AppleWebKit/534.13  (KHTML,  like Gecko) UCBrowser/8.6.0.199 U3/0.8.0 Mobile Safari/534.13")
这样设置为什么会被弹窗IE显示呢?而不再控件中显示页面?0 或 1都是会弹窗而不在空间中显示

这样好像是可以模拟成其他版本的浏览器,但只要运行就变成IE弹出来显示了~
有没有其他模拟成手机用户的方法?
------解决思路----------------------
这样看服务端是依据什么来判断客户端类型的,如果只是简单的useragent你这方法还行
要禁止新窗口中打开,要重写事件处理
winform版的
//强制在控件中打开新窗口
this._axWebBrowser = webBrowser1.ActiveXInstance as SHDocVw.WebBrowser;
this._axWebBrowser.NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(WB_NewWindow3);

private void WB_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
{
            Cancel = true;
            webBrowser1.Navigate(bstrUrl);

------解决思路----------------------
SHDocVw命令空间需要添加system32下的shdocvm.dll引用
  相关解决方案