javascript 高級程序設(shè)計 第九章

客戶端檢測

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)容。:)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 一年前給自己定的目標(biāo)是每天寫一篇文章,每天一大早起來的第一件事情就是寫,不管時間,不管內(nèi)容,不管字?jǐn)?shù),這樣的寫作竟...
    蝸牛小怪物閱讀 973評論 2 0
  • 剛好這個月,銀行給我的免費送短信服務(wù)停了。昨天,去發(fā)廊洗個頭,鏡子里的自己氣色太糟糕了,想做個面部清潔美容。服務(wù)員...
    葉末也來了閱讀 327評論 2 4
  • 01 一切的開始就在放假回來上班的第一天。那天,我偷偷地在QQ上跟HR說:“告訴你個消息,請別做出過分驚訝的表情,...
    劉教練閱讀 10,037評論 30 34