JS获取浏览器信息
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对Java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent
js判断IE浏览器的四种方法:
方法一:
1
2
3
4
5
6
7
|
if (window.addEventListener){ alert( "not ie" ); } else if (window.attachEvent){ alert( "is ie" ); } else { alert( "这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)" ) } |
注释:该方法在IE9及以上IE版本会弹出not ie结果
方法二:
1
2
3
4
5
|
if (document.all){ alert( "IE" ); } else { alert( "not ie" ); } |
方法三:
1
2
3
4
5
6
|
var navigatorName = "Microsoft Internet Explorer" ; if ( navigator.appName == navigatorName ){ alert( "ie" ) } else { alert( "not ie" ) } |
方法四:
利用了IE与标准浏览器在处理数组的toString方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.
1
2
|
if (!+[1,])alert( "这是ie浏览器" ); else alert( "这不是ie浏览器" ); |
注释:IE9及以上版本会弹出“这不是IE浏览器”
判断常用浏览器的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
var explorer =navigator.userAgent ; //ie if (explorer.indexOf( "MSIE" ) >= 0) { alert( "ie" ); } //firefox else if (explorer.indexOf( "Firefox" ) >= 0) { alert( "Firefox" ); } //Chrome else if (explorer.indexOf( "Chrome" ) >= 0){ alert( "Chrome" ); } //Opera else if (explorer.indexOf( "Opera" ) >= 0){ alert( "Opera" ); } //Safari else if (explorer.indexOf( "Safari" ) >= 0){ alert( "Safari" ); } //Netscape else if (explorer.indexOf( "Netscape" )>= 0) { alert( 'Netscape' ); } |
这里用到navigator.userAgent.indexOf("MSIE") >= 0进行判断,当然也可以用
navigator.userAgent.indexOf("MSIE") != -1 进行判断。
jquery判断浏览器类型和浏览器版本号的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$(document).ready( function (){ var brow=$.browser; var bInfo= "" ; if (brow.msie){bInfo= "MicrosoftInternetExplorer" +brow.version;} if (brow.mozilla){bInfo= "MozillaFirefox" +brow.version;} if (brow.safari){bInfo= "AppleSafari" +brow.version;} if (brow.opera){bInfo= "Opera" +brow.version;} alert(bInfo); }); |
注意:Query 从 1.9 版开始,移除了 .browser和.browser.version , 取而代之的是 $.support 方法
第一种,只区分浏览器,不考虑版本
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
}
//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
alert("我是 IE");
}
if ("FF" == mb) {
alert("我是 Firefox");
}
if ("Chrome" == mb) {
alert("我是 Chrome");
}
if ("Opera" == mb) {
alert("我是 Opera");
}
if ("Safari" == mb) {
alert("我是 Safari");
}
第二种,区分浏览器,并考虑IE5.5 6 7 8
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
if (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\d+\.\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55";
}
if (IE6) {
return "IE6";
}
if (IE7) {
return "IE7";
}
if (IE8) {
return "IE8";
}
}//isIE end
if (isFF) {
return "FF";
}
if (isOpera) {
return "Opera";
}
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
alert("我是 Opera");
}
if (myBrowser() == "Safari") {
alert("我是 Safari");
}
if (myBrowser() == "IE55") {
alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
alert("我是 IE6");
}
if (myBrowser() == "IE7") {
alert("我是 IE7");
}
if (myBrowser() == "IE8") {
alert("我是 IE8");
}
下面给出一个判断当前浏览器是IE的JS代码.
原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
<script>
var ie = !-[1,];
alert(ie);
</script>
停止加载
- var xmlhttp;
- if (window.XMLHttpRequest) {
- // code for IE7+, Firefox, Chrome, Opera, Safari
- xmlhttp = new XMLHttpRequest();
- }else {
- // code for IE6, IE5
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- xmlhttp.abort();
- //停止继续加载页面,相当于点击stop按钮。
- if (!!(window.attachEvent && !window.opera))
- {
- document.execCommand("stop");// code for IE
- }else{
- /**
- * stops window loading
- * code for Firefox, Chrome, Opera, Safari
- */
- window.stop();
- }