我有.NET Framework 2.0project和AxWebBrowser控件在Windows 7和IE9 web浏览器上运行。
当我将此代码放入我的IE9 web浏览器时:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9">
</head>
<body>
<script>alert(document.documentMode);</script>
</body>
</html>
我得到的值是9,所以它是正确的。
但是当一个在我的项目中向AxWebBrowser输入相同的代码时,我总是得到值8,而我的HTML5代码不能正常工作。
问题在哪里?
最佳答案
必须使用注册表启用Internet功能控件并设置要使用的IE版本。
下面是一个示例注册表文件:
(不要忘记用可执行文件的名称替换program.EXE)
Windows注册表编辑器5.00版
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"YOURPROGRAM.EXE"=dword:00002328
这也可以从代码中动态完成。
当然,如果客户端计算机上没有安装IE9,你就无法使用HTML5,那么你可以考虑使用另一个webbrowser控件,有很多是在线的。
有关详细信息,请参见本页:http://msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation
关于c# - C#Internet Explorer 9和AxWebBrowser,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14974502/