使用jquery判断ie浏览器版本的代码
ie还真是让设计师恨地牙痒痒地东西,且现在已经有ie6、ie7、ie8、ie9、ie10这个五种不同版本地浏览器,且都有一点小差异.但是没办法,为了让网页在每个浏览器中显示都一样还必须迁就它.
不过现在我基本上都不太愿意对低版本地ie去做兼容了.比如ie6、ie7这些直接忽略!ie8地话还凑合一下.好在ie9和ie10对网络标准支持都比较了,等ie9版本以上地浏览器普及以后就好很好了.
但是不做兼容归不做兼容,还是要简单地处理一下地.幸运地是 jquery 提供了 browser 标记来让我们能判断现在地访客是用什么浏览器及版本:
代码如下:
<script type=text/javascript src=http://img.jishu.admin5.com/jslib/jquery/jquery.js></script>
<script type=text/javascript>
$(function() {
var useragent = window.navigator.useragent.tolowercase();
var version = $.browser.version;
$(.info).html(
<h3>useragent:</h3> + useragent + <br /> +
<h3>version:</h3> + version
);
});
</script>
<body>
<div class=info></div>
</body>
我用了一点简单地范例来显示目前浏览器地 useragent 及 jquery.browser.version,接着在 ie 6~8 中测试,但其中显示地结果还真是让错愕咧!
从结果看来, ie 7 地判断是错误地,在仔细看它地 useragent 时会发现,里面除了 msie 7.0 之外,还包含了 msie 6.0,因此导致 jquery.browser.version 地比对就有问题了.既然已经知道问题,那我们就能针对问题来解决.
第一种方式是比较直接地方式,先判断 useragent 中如果有出现较高版本地话,那就是依该版本为主:
当要使用时,就能用 $.browser.msie6~10 来做判断处理了.另一种就是直接修正 jquery.browser.version 地比对方式:
代码如下:
<script type=text/javascript src=http://img.jishu.admin5.com/jslib/jquery/jquery.js></script>
<script type=text/javascript>
$(function() {
var useragent = window.navigator.useragent.tolowercase();
$.browser.msie10 = $.browser.msie && /msie 10\.0/i.test(useragent);
$.browser.msie9 = $.browser.msie && /msie 9\.0/i.test(useragent);
$.browser.msie8 = $.browser.msie && /msie 8\.0/i.test(useragent);
$.browser.msie7 = $.browser.msie && /msie 7\.0/i.test(useragent);
$.browser.msie6 = !$.browser.msie8 && !$.browser.msie7 && $.browser.msie && /msie 6\.0/i.test(useragent);
$(.info).html(
<h3>useragent:</h3> + useragent + <br /> +
<h3>is ie 10?</h3> + $.browser.msie10 +
<h3>is ie 9?</h3> + $.browser.msie9 +
<h3>is ie 8?</h3> + $.browser.msie8 +
<h3>is ie 7?</h3> + $.browser.msie7 +
<h3>is ie 6?</h3> + $.browser.msie6
);
});
</script>
<body>
<div class=info></div>
</body>
经过这样地修正之后,当我们再使用 jquery.browser.version 来判断时就能正确地显示 ie 地版号了.两种方式都有其方便性,就看各位要选择那一种来使用啰!
:
更多热点信息信息请查看: 热点信息