【发布时间】:2014-04-12 16:56:39
【问题描述】:
我正在尝试将 Chromecast background website 加载到 c# WebBrowser 但我得到:
我认为这是因为浏览器默认使用 IE7(?),这可能无法与网站中的 JS 配合使用。我试图将注册 FEATURE_BROWSER_EMULATION 更新为 9000,希望强制 webbrowser 使用 IE9 框架。但我仍然遇到同样的错误。
网络浏览器对于这个任务来说是基本的还是有解决这个问题的方法?
编辑:
所以当我打印webbrowser.version 时,我得到:版本:11.0.9600.16518。这是我拥有的当前版本的 IE。如果我打开 IE11 并导航到 url,它的效果很好。不知道为什么webbroswer 有问题。
我尝试使用以下代码将JSON Parser 注入网页:
HtmlDocument doc = webBrowser1.Document;
Console.WriteLine(doc);
HtmlElement head = doc.GetElementsByTagName("head")[0];
HtmlElement s = doc.CreateElement("script");
s.SetAttribute("type", "text/javascript");
s.SetAttribute("src", "http://192.168.1.23:10000/JSON-js-master/json2.js");
head.AppendChild(s);
我尝试使用引用主机文件的本地和外部 ips。似乎没有什么不同。
【问题讨论】:
-
哇,是的,我会说 IE7 太旧了!可以换个浏览器吗?
-
当您更新注册表时,您包含了您的进程的正确名称,对吗? msdn.microsoft.com/en-us/library/…
-
WebBrowser 控件是 IE。它始终是您计算机上运行的相同版本的 IE。升级 IE,您将升级控件。另外,直接使用浏览器尝试该站点,看看会发生什么。
-
@JohnSaunders,我刚刚运行了一个 WebBrowser 控件,导航到尼克在他的问题中链接到的页面,我得到了与他相同的结果。在 IE 中点击链接是成功的。有趣的是,将 IE 置于兼容模式会导致 WebBrowser 产生的问题非常相似。
-
@Nick,因为我安装了 IE 11,所以我将浏览器仿真设置为 11001,它可以工作。
标签: c# .net json webbrowser-control