【问题标题】:'JSON' is undefined“JSON”未定义
【发布时间】: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


【解决方案1】:

显然WebBrowser控件在运行时,是在电脑上安装的IE版本中运行的,但在IE7兼容模式下运行。尝试加载您列出的链接需要更现代的浏览器。事实上,您请求的页面需要IE10或更高版本。

您确实需要更改注册表中的浏览器仿真设置,以便 WebBrowser 控制用户更现代的 IE 功能集:

Internet Feature Controls

正如您在问题中已经说过的,注册表中需要调整的两个区域是:

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 Feature Controls 帮助页面上找到。该文件的名称是您的应用程序“MyApplication1.exe”的名称,或者如果您在 Visual Studio 中运行,它是“MyApplication1.vshost.exe”。

因为我安装了 IE 11,所以我将浏览器仿真设置为 11001,它适用于您的链接网页。

【讨论】:

    猜你喜欢
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2012-04-11
    • 2021-02-24
    • 2021-05-14
    相关资源
    最近更新 更多