.net - WebBrowser(WPF 和 WinForms 控件)和 JSON 对象 - JSON 未定义

标签 .net wpf winforms wpf-controls webbrowser-control

我在 WPF 应用程序中使用 WebBrowser 控件来显示嵌入在我的应用程序中的网页。 问题是,当加载页面时,我收到消息“JSON”未定义。

我加载的网页使用了“JSON.stringify”函数,但似乎浏览器控件不支持JSON对象。

有任何解决方法或方法可以在 WPF Web 浏览器或 WinForms Web 浏览器上启用对 JSON 对象的支持吗?

最佳答案

问题是我处于 Windows 功能调用 FEATURE_BROWSER_EMULATION 下,该功能基本上注册每个应用程序以及应使用的浏览器兼容模式的版本。

这适用于使用 WebBrowser 等控件的应用程序,因此默认情况下在安装的 IE 下采用最小版本兼容模式,并且 JSON 对象在 IE 8 之前不兼容,但无论如何解决方案是在安装过程中注册,也许您的应用程序需要兼容性模式 >= 到注册表上的 Windows 8:

HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 添加您的进程名称,然后设置 DWORD 值 = 所需兼容模式的版本 take a look at the table

关于.net - WebBrowser(WPF 和 WinForms 控件)和 JSON 对象 - JSON 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19028554/

相关文章:

c# - 在 C# 中打印 Win Form 时如何提高打印质量

c# - 自定义 FTP 客户端 PASV 数据连接被拒绝

c# - WPF 的控件属性是否存在性能劣势?

WPF MVVM : ComboBox height is different for integers

c# - 任务、等待和 ManagementObjectCollection

c# - WinForms - 哪种是保存某些数据的最简单方法?

.net - 通过 Windows 服务的 WCF - 验证客户端

c# - 在多线程环境中创建实例

c# - 编译器如何知道 .NET 框架中正在运行的代码是托管代码还是非托管代码

c# - 将枚举绑定(bind)到自定义控件上的组合框