在写跨浏览器的js程序中,检测浏览器是一个很重要的工作。我们不时要为不同的浏览器写分支代码。如下是一种:
function isIE(){
return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1 && document.all;
}
function isIE6() {
return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 6.0")=="-1"?false:true;
}
function isIE7(){
return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 7.0")=="-1"?false:true;
}
function isIE8(){
return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 8.0")=="-1"?false:true;
}
function isNN(){
return navigator.userAgent.indexOf("Netscape")!=-1;
}
function isOpera(){
return navigator.appName.indexOf("Opera")!=-1;
}
function isFF(){
return navigator.userAgent.indexOf("Firefox")!=-1;
}
function isChrome(){
return navigator.userAgent.indexOf("Chrome") > -1;
}
2,第二种称为
a,talbe.cells只有IE/Opera支持。
b,innerText/insertAdjacentHTML除Firefox外,IE6/7/8/Safari/Chrome/Opera都支持。
c,window.external.AddFavorite用来在IE下添加到收藏夹。
d,window.sidebar.addPanel用来在FF下添加到收藏夹。
3,第三种很有趣,暂且称为
var isIE = !+"/v1";
var isIE = !-[1,];
var isIE = "/v"=="v";
isSafari=/a/.__proto__=='//';
isOpera=!!window.opera;
最经典的莫过于
本文介绍了三种检测浏览器类型的方法:通过user-agent字符串检测、通过对象和特性检测以及利用浏览器特定的缺陷进行检测。这些方法有助于编写更兼容的JavaScript代码。
241

被折叠的 条评论
为什么被折叠?



