当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jQuery获得IE版本不准确webbrowser的解决方法

jQuery获得IE版本不准确webbrowser的解决方法

2019年03月22日  | 移动技术网IT编程  | 我要评论
用$.browser.version经常出现一些不准确的状况,最近碰到,做了一些总结,不知道是否全面。 用javasript的navigator.useragent.inde

用$.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(@"software\microsoft\internet 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来解析,这样就会造成判断和实际的执行不符合。

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网