今天采用.Net中的webBrowser控件时,发觉Angular控件无法正确执行。由于web程序是使用chrome浏览器进行开发,在测试过程中没遇到任何问题。打开IE进行测试,也是一切正常,经过检查,webBrowser默认使用IE7兼容模式来显示网页内容,导致js执行报错。
解决方案:
1)修改web程序页面,添加如下标签
<meta http-equiv="X-UA-Compatible"content="IE=edge" />
即可指定使用的IE内核版本,但仅适用于自己的站点
2)修改注册表,支持高版本浏览器,这里推荐使用IE9
对于32位程序
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
对于64位程序
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在对应的路径下添加你程序名字,如a.exe为名的value,DWORD值。
值选项:
10000(0×2710) IE10
9999 (0x270F) IE9 忽略html5
9000 (0×2328) IE9
8888 (0x22B8) IE8 忽略html5
8000 (0x1F40) IE8
7000 (0x1B58) IE7
3)使用chrome内核控件,但是改动非常大,但是可以避免用户 电脑上低版本浏览器问题(国内你懂的)