客戶端檢測
9.1 能力檢測
??? 能力檢測:? 能力檢測針對不同瀏覽器或者瀏覽器版本不同所進行的檢測。不同的瀏覽器里可能存在或者不存某個特定的方法,比如IE早版本下就不存在 document.getElementById() 方法,取而代之的是其存在的document.all方法。注意:能力檢測不是瀏覽器檢測
可以使用 if( a ){
//如果 a 方法存在 就使用 a 方法。
a();
}else{
//如果a方法不存在 就需要在這寫瀏覽器所實現(xiàn)的方法
}
??? 進一步的能力檢測:有可能瀏覽器廠商實現(xiàn)了 某一方法, 但是該方法與平時所用或者我們認(rèn)為的方法功能不一樣,所以需要進行進一步的能力檢測。可以使用
if( type of a == 'function'){
//針對不同瀏覽器所實現(xiàn)的方法
}
9.2 怪癖檢測
怪癖一般指的是瀏覽器實現(xiàn)的方法有些奇怪的地方。一般會認(rèn)為這個是bug。我覺得這個可以在調(diào)試代碼時出現(xiàn)不可理解的事情的時候,去查閱一下就可以找到解決方法。
9.3 用戶代理檢測
這個指的是對用戶的瀏覽器進行檢測,只不過在瀏覽器的發(fā)展歷史中,通過js內(nèi)置方法獲取到的當(dāng)前瀏覽器的信息。但是可能會存在“電子欺詐"。也就是說,可能會在廠商會在瀏覽器的代理信息中添加其他的信息,我們獲得的信息可能就會因此而不正確。
在實際的檢測中,用戶代理檢測的爭議非常大。推薦使用能力檢測更為穩(wěn)妥。
以上只是我對第九章的一些淺顯的理解,需要知道更多可以翻閱第九章內(nèi)容。:)