JavaScript判断IE版本型号
下面通过代码给大家讲解下,具体请看下文:
ie浏览器与非ie浏览器的区别是ie浏览器支持activexobject,但是非ie浏览器不支持activexobject。在ie11浏览器还没出现的时候我们判断ie和非ie经常是这么写的
function isie(){
return window.activexobject ? true : false;
}
但是在ie11中上面判断的返回的是false,我自己在ie11测试了下如下代码:
alert(window.activexobject);
alert(typeof window.activexobject);
这是为什么呢?明明activexobject是存在的,怎么就typeof的结果确实undefined。哪位知道结果的告诉我这是为什么呢?为神马?
微软上的官网说出了ie11的activexobject的不同。
alert("activexobject" in window)//在ie11下返回的是true
下面就直接给出兼容ie11判断ie与非ie浏览器的方法。
function isie(){
return ("activexobject" in window);
}
判断ie6浏览器
从ie7开始ie是支持xmlhttprequest对象的,唯独ie6是不支持的。根据这个特性和前面判断ie的函数isie()我们就知道怎么判断ie6了吧。判断方法如下:
function isie6() {
// ie6是不支持window.xmlhttprequest的
return isie() && !window.xmlhttprequest;
}
判断ie7浏览器
因为从ie8开始是支持文档模式的,它支持document.documentmode。ie7是不支持的,但是ie7是支持xmlhttprequest对象的。判断方法如下:
function isie7() {
//只有ie8+才支持document.documentmode
return isie() && window.xmlhttprequest && !document.documentmode;
}
判断ie8浏览器
在从ie9开始,微软慢慢的靠近标准,我们把ie678称为非标准浏览器,ie9+与其他如chrome,firefox浏览器称为标准浏览器。两者的区别其中有一个是alert(-[1,]);//在ie678中打印的是nan,但是在标准浏览器打印的是-1
那么我们就可以根据上面的区别来判断是ie8浏览器。方法如下:
function isie8(){ // alert(!-[1,])//->ie678返回nan 所以!nan为true 标准浏览器返回-1 所以!-1为false return isie() &&!-[1,]&&document.documentmode; }
判断ie9、ie10、ie11浏览器
从ie8浏览器是支持json内置对象的,从ie10开始支持js的严格模式。ie9+下alert(!-[1,])返回的是false,ie9+是支持addeventlistener的,但是ie11浏览器中是不支持原来ie中独有的事件绑定attachevent。根据这些区别我们就能区分出ie9、ie10、ie11浏览器了。
判断其他浏览器
//检测函数 var check = function(r) { return r.test(navigator.useragent.tolowercase()); }; var statics = { /** * 是否为webkit内核的浏览器 */ iswebkit : function() { return check(/webkit/); }, /** * 是否为火狐浏览器 */ isfirefox : function() { return check(/firefox/); }, /** * 是否为谷歌浏览器 */ ischrome : function() { return !statics.isopera() && check(/chrome/); }, /** * 是否为opera浏览器 */ isopera : function() { return check(/opr/); }, /** * 检测是否为safari浏览器 */ issafari : function() { // google chrome浏览器中也包含了safari return !statics.ischrome() && !statics.isopera() && check(/safari/) } };
以上就是本文的全部介绍,希望可以帮助到大家。
上一篇: jQuery实现表单动态加减、ajax表单提交功能
下一篇: 我们平常吃的西红柿对身体有什么好处