在jquery.1.9以前的版本,可以使用$.browser很輕松的判斷瀏覽器的類型和版本,但是在1.9中和以后的版本中,$.browser已經被刪除,下面就介紹一下如何實現此功能,希望能夠給需要的朋友帶來幫助。
一.自定義代碼:
$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase()); $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase()); $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase()); $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
以上代碼中,等號后面的表達式返回值是布爾類型的,用來表示是否支持此瀏覽器。這樣就實現了自定義的$.browser效果。
二.判斷IE6瀏覽器:
jquery1.9之前使用以下代碼:
if ($.browser.msie && 7 > $.browser.version) {}
jquery1.9和之后使用以下代碼:
if ('undefined' == typeof(document.body.style.maxHeight)) {}
三.判斷IE6-IE8瀏覽器:
if (!$.support.leadingWhitespace) {}
綜上所述,基本實現了我們的要求,這里就不多介紹了。
擴展知識點:
jQuery.browser的定義和用法:
瀏覽器內核標識,依據 navigator.userAgent 判斷。
可用值: safari 、opera 、msie 和mozilla。
瀏覽器對象檢測技術與此屬性共同使用可提供可靠的瀏覽器檢測支持。
在jQuery 1.9中已經刪除。
如果網頁在opera瀏覽器中運行,那么jQuery.browser.opera會返回true,否則返回false。
其他的屬性值以此類推。
實例代碼:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.gimoo.net/" /> <title>綠夏網</title> <script type="text/javascript" src="http://www.gimoo.net/t/1904/mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ alert($.browser.msie); }); </script> </head> <body> 如果在IE瀏覽器中運行則返回true,否則返回false。 </body> </html>
typeof 運算符的用法:
typeof運算符放在操作數之前,可以檢測此操作數的數據類型,并返回一個字符串用以說明操作數的類型。
操作數可以是變量或者值等。
typeof運算符可能返回的值:
一.如果變量未賦值或者變量值賦值為undefined,則返回undefined。
實例實例:
var a console.log(typeof(a))
變量a沒有被賦值,這個時候變量被默認隱式賦值undefined。輸出結果:undefined。
var a=undefined; console.log(typeof(a))
變量a被賦值undefined。輸出結果:undefined。
二.如果變量或者值是布爾類型,則返回boolean。
實例代碼:
console.log(typeof (true))
輸出結果:boolean。
var a=2,b=1,c=3,d; d=a+b; console.log(typeof(c==d))
輸出結果:boolean。
三.如果變量或者值是數值類型,則返回number。
console.log(typeof(1))
輸出結果:number。
四.如果變量或者值是字符串,則返回string。
console.log(typeof("mayi"))
輸出結果:string。
console.log(typeof("a"))
ECMAScript中沒有字符類型。所以此段代碼也會輸出string。
五.變量是引用類型或者null,則會返回object。
注:null可以認為是對象的占位符,所以返回值也是object。
實例代碼:
var a=new Date; console.log(typeof(a))
建立一個時間對象實例a,它是一個引用類型。輸出結果: objct。
console.log(typeof(null))
輸出結果: object。
六.如果變量是函數,則返回function
console.log(typeof(function(){alert("大家好")}))
輸出結果:function。
var a=function(){alert("大家好")} console.log(typeof(a))
輸出結果:function。