标签:
使用JS判断浏览器版本其实并不复杂,只是在判断IE浏览器时判断IE浏览器各个版本时需要花点心思。
1.使用判断浏览器USER_AGENT的方法判断出IE浏览器的情况下,在此基础上再判断其版本。
2.判断IE6、IE9、IE11的方法稍微特殊点。IE9及以上的版本alert(!-[1,])返回的是false,并且,IE9+是支持addEventListener的,但是IE11浏览器中是不支持原来IE中独有的事件绑定attachEvent。根据这些特性,可区分IE9和IE11.
当然,还可以利用其他特性来区分IE的各个版本,例如,可参考该链接 http://www.5ycode.com/353。
此外,就属360浏览器的判断稍麻烦了。因为,360浏览器在3Q大战之后,开始使用IE浏览器的内核,现在又变成使用谷歌浏览器的的内核,目前跟谷歌浏览器的区别在于谷歌的webkitPersistentStorage是独立的,也因为这个谷歌可能无法正常看优酷的视频,而360可以,区别就在于二者的webkitPersistentStorage不同。
参考代码如下
//判断浏览器版本 $(function () { var explorer = window.navigator.userAgent; var vesion = ""; //ie if (explorer.indexOf("MSIE") >= 0) { vesion = "IE"; num = IEVesion(); vesion = vesion + num; } //firefox else if (explorer.indexOf("Firefox") >= 0) { vesion = "Firefox"; } //Chrome else if (explorer.indexOf("Chrome") >= 0) { if (window.navigator.webkitPersistentStorage.toString() == "[object DeprecatedStorageQuota]") { vesion = "Chrome"; } else { vesion = "360"; } } //Opera else if (explorer.indexOf("Opera") >= 0) { vesion = "Opera"; } //Safari else if (explorer.indexOf("Safari") >= 0) { vesion = "Safari"; } alert(vesion); }); //判断IE浏览器的版本 function IEVesion() { var userAgent = window.navigator.userAgent.toLowerCase(); var vesion_num = ""; if (typeof window.attachEvent != "function" && ! -[1, ] == false) { vesion_num = "11"; } else if ($.browser.msie && /msie 10\.0/i.test(userAgent)) { vesion_num = "10"; } else if (typeof window.addEventListener == "function" && ! -[1, ] == false) { vesion_num = "9"; } else if ($.browser.msie && /msie 8\.0/i.test(userAgent)) { vesion_num = "8"; } else if ($.browser.msie && /msie 7\.0/i.test(userAgent)) { vesion_num = "7"; } else if (!$.browser.msie8 && !$.browser.msie7 && $.browser.msie && /msie 6\.0/i.test(userAgent)) { vesion_num = "6"; } return vesion_num; }
标签:
原文地址:http://www.cnblogs.com/ywstrong/p/4887540.html