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();
- }