Nic*_*ick 3 .net c# json webbrowser-control
我正在尝试将Chromecast背景网站加载到ac#WebBrowser中,但我得到:

我认为它发生了,因为webbrowser默认使用IE7(?),这可能不适合网站上的JS.我试图更新注册FEATURE_BROWSER_EMULATION到9000希望强制webbrowser使用IE9框架.但我仍然得到同样的错误.
Web浏览器是否适用于此任务或是否有解决此问题的方法?
编辑:
所以,当我打印webbrowser.version我得到:版本:11.0.9600.16518.这是我目前的IE版本.如果我打开IE11并导航到网址,它的工作效果很好.不知道为什么会有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);
Run Code Online (Sandbox Code Playgroud)
我尝试使用本地和外部ips引用主机文件.似乎没有什么区别.
显然,当WebBrowser控件运行时,它运行在计算机上安装的IE版本中,但它以IE7兼容模式运行.尝试加载您列出的链接需要更现代的浏览器.事实上,您请求的页面需要IE10或更高版本.
您需要更改注册表中的浏览器仿真设置,以便WebBrowser控制用户使用更现代的IE功能集:
正如您在问题中已经说过的那样,注册表中需要调整的两个区域是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
在这两个位置的每一个中,应用程序的进程名称都包含在DWORD值集中,表示兼容性级别.具体值可在Internet功能控件帮助页面中找到.该文件的名称是您的应用程序"MyApplication1.exe"的名称,或者如果您在Visual Studio中运行,则它是"MyApplication1.vshost.exe".
因为我安装了IE 11,所以我将浏览器仿真设置设置为11001,它适用于您的链接网页.
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |