有关WebBrowserCustomization的MSDN文档解释了如何防止打开新窗口以及如何取消导航。在我的例子中,我的应用程序托管了一个IWebBrowser2,但我不希望用户导航到我的应用程序中的新页面。相反,我想在新的IE窗口中打开所有链接。所需的行为是:用户单击一个链接,然后打开一个包含该URL的新窗口。有人提出并回答了类似的问题here并且建议我打开一个新的讨论,而不是污染那个回答的帖子。相关帖子中的成员建议我应该能够通过捕获DISPID_BEFORENAVIGATE2、设置取消标志和编写代码来打开一个新窗口来做到这一点,但我发现浏览器控件得到很多似乎由主页上的脚本启动的
我正在开发一个使用IWebBrowser2嵌入式控件的winapic++程序。我运行的是Windows7+IExplore11,所以当我打开IE11并调用我的服务器时,我得到了这个用户代理字符串:Mozilla/5.0(WindowsNT6.1;Trident/7.0;rv:11.0)likeGecko当从IWebBrowser2发出请求时,我得到这个UA字符串:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;Trident/7.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;
我正在使用IE8浏览器的Win7机器上进行开发(同样的事情也发生在IE9上)。我创建了一个应用程序,在native窗口中嵌入了一个IWebBrowser2对象。在该浏览器对象中,我执行了一个javascipt代码:vartxt="BrowserName:"+navigator.appName+"\n";txt+="BrowserVersion:"+navigator.appVersion+"\n";alert(txt);我收到以下警报:这证实了我早先的担忧-即使在我的机器上安装了IE8\IE9-IWebBrowser2对象的行为就好像它是IE7(包括所有烦人的HTML\CSS行为)。有