展会信息港展会大全

jQuery获得IE版本不准确webbrowser的解决方法
来源:互联网   发布日期:2016-01-28 12:56:27   浏览:1175次  

导读:用$ browser version经常出现一些不准确的状况,最近碰到,做了一些总结,不知道是否全面。用javasript的navigator userAgent indexOf(MSIE 8 0)取法结果是一样的。1、用webbrowser加载htm、html页面,此时加 ...

用$.browser.version经常出现一些不准确的状况,最近碰到,做了一些总结,不知道是否全面。

用javasript的navigator.userAgent.indexOf("MSIE 8.0")取法结果是一样的。

1、用webbrowser加载htm、html页面,此时加载后获取IE的版本就是不准确的,比如我的机器是IE9,但是通过 webbrowser加载之后,$.browser.version方法取得的版本便是变成了7.0,用 <meta http-equiv="x-ua-compatible" content="IE=5;IE=7;IE=8;IE=9;"/> 强制解析后取得的版本依然是7.0,如果想要webbrowser取得正确的 结果还是要修改注册表。

此种问题的解决方案是:在后台通过注册表获取:

代码如下:

<span style="font-size:18px;">private int GetIEVersion()

{

using (Microsoft.Win32.RegistryKey versionKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SoftwareMicrosoftInternet Explorer"))

{

string version = versionKey.GetValue("Version").ToString();

int iVersion = int.Parse(version.Substring(0, 1));

return iVersion;

}

}</span>

2、用 <meta http-equiv="x-ua-compatible" content="IE=5;IE=7;IE=8;"/> 强制解析,我的机器是IE9,添加此标签之后,再$.browser.version获 得的版本是8.0。

3、嵌套Iframe的状况,如果外层是IE8解析,内层是IE9解析,这样内层获取的版本是IE9,但是实际上页面是按照IE8来解析,这样 就会造成判断和实际的执行不符合。

此种情况应用应该比较少,如果遇到需通过内外层解析同时判断方可解决。

赞助本站

人工智能实验室

相关热词: IE 版本 jQuery

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港