前面我們依次介紹了介紹Netscape Navigator、Internet Explorer、Gecko用戶代理字符串的歷史、識別不同平臺Window、Mac、Unix(Linux)方法、如何用Javascript識別移動設備,即識別移動終端等,下面南昌網(wǎng)站設計公司技術人員對這些內(nèi)容做一個簡單總結.
客戶端檢測是JavaScript開發(fā)中最具爭議的一個話題。由于瀏覽器間存在差別,通常需要根據(jù)不同瀏覽器的能力分別編寫不同的代碼。有不少客戶端檢測方法,但下列是最經(jīng)常使用的。
◎能力檢測:在編寫代碼之前先檢測特定瀏覽器的能力。例如,腳本在調(diào)用某個函數(shù)之前,可能要先檢測該函數(shù)是否存在。這種檢測方法將開發(fā)人員從考慮具體的瀏覽器類型和版本中解放出來,讓他們把注意力集中到相應的能力是否存在上。能力檢測無法精確地檢測特定的瀏覽器和版本。
◎怪癖檢測:怪癖實際上是瀏覽器實現(xiàn)中存在的bug,例如早期的WebKit中就存在一個怪癖,即它會在for-in循環(huán)中返回被隱藏的屬性。怪癖檢測通常涉及到運行一小段代碼,然后確定瀏覽器是否存在某個怪癖。由于怪癖檢測與能力檢測相比效率更低,因此應該只在某個怪癖會干擾腳本運行的情況下使用。怪癖檢測無法精確地檢測特定的瀏覽器和版本。
◎用戶代理檢測:通過檢測用戶代理字符串來識別瀏覽器。用戶代理字符串中包含大量與瀏覽器有關的信息,包括瀏覽器、平臺、操作系統(tǒng)及瀏覽器版本。用戶代理字符串有過一段相當長的發(fā)展歷史,在此期間,瀏覽器提供商試圖通過在用戶代理字符串中添加一些欺騙性信息,欺騙網(wǎng)站相信自己的瀏覽器是另外一種瀏覽器。用戶代理檢測需要特殊的技巧,特別是要注意Opera會隱瞞其用戶代理字符串的情況。即便如此,通過用戶代理字符串仍然能夠檢測出瀏覽器所用的呈現(xiàn)引擎以及所在的平臺,包括移動設備和游戲系統(tǒng)。
南昌網(wǎng)絡公司技術人員認為在決定使用哪種客戶端檢測方法時,一般應優(yōu)先考慮使用能力檢測。怪癖檢測是確定應該如何處理代碼的第二選擇。而用戶代理檢測則是客戶端檢測的最后一種方案,因為這種方法對用戶代理字符串具有很強的依賴性。
本文僅限內(nèi)部技術人員學習交流,不得作于其他商業(yè)用途.文章出自:南昌網(wǎng)站建設公司-百恒網(wǎng)絡 http://www.myforexfactory.net 如轉(zhuǎn)載請注明出處!