我想使用 Web 浏览器访问加载时使用 JavaScript 的网站。我知道 Web 浏览器是当前安装的 Internet Explorer 版本的包装器。但是,在 Internet Explorer 上测试网站不会产生任何错误,但如果我使用 Web 浏览器访问内容则不起作用。
我还查看了我的互联网安全设置以确保它已启用。
我得到的问题是;
最佳答案
很尴尬的是,我在发布这篇文章后不久就找到了答案,但我认为遇到与我相同问题的任何人都会从这个答案中找到安慰;
下载最新版本的 Internet Explorer 似乎还不够,您必须通过添加新的注册表项来明确指定要使用的 IE 版本。
HTML 修复;
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
... other headers
</head>
<body>
... content
</body>
</html>
通过注册表;
转至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 仅适用于 64 位或 32 位机器。
或者转到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 在 64 位系统上获取 32 位(如果您将 key 添加到两个位置不会有什么坏处有它们。如果没有它们,您可以自己制作文件夹)。
创建一个新的 DWORD key 并将其命名为您的应用程序的名称,例如“myapp.exe”然后编辑键的值。根据您要模拟的 IE 版本,您可以添加许多不同的值。我输入了 11001(作为十进制值 - 十六进制中的 0x2AF9),它模拟 IE 11(更多值位于:http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation)。
如果您像我一样使用 Visual Studio,您会注意到此方法甚至可能不起作用。但是,它确实有效。您需要使用资源管理器或终端手动打开 .exe 文件,而不是在 Visual Studio 上运行项目。
如果您希望在 Visual Studio 上运行该程序,请考虑为“myapp.vshost.exe”添加一个 key ,因为它用于调试。
更多信息和来源来自; http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version .
我希望这可以帮助任何人解决有关您的 Web 浏览器的任何问题,可能使用错误的 IE 版本作为包装器或功能未按预期工作。
关于c# - 允许 javascript 在 Windows 窗体 Web 浏览器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142594/