2014-10-16 72 views
1

我已經閱讀了幾篇關於功能檢測的文章,並且它比瀏覽器檢測更可靠,因爲瀏覽器所在。爲什麼用戶代理/瀏覽器謊言

我找不到他們爲什麼說謊的任何信息。有誰知道他們會這麼做的原因嗎?

回答

1

據我瞭解,站長做瀏覽器嗅探找到一個瀏覽器的功能,並限制他們發送到瀏覽器。如果瀏覽器就在於它的能力,他們將獲得由網站管理員更多,你可以閱讀更多:

http://farukat.es/journal/2011/02/499-lest-we-forget-or-how-i-learned-whats-so-bad-about-browser-sniffing

http://webaim.org/blog/user-agent-string-history/

+0

瀏覽器不會說謊他們的功能。但是,您可以通過任何開發人員工具更改用戶代理字符串。或者......用戶代理字符串有很多變體,因此不可能使用適當的功能保留瀏覽器/設備組合的有效數據庫。如果操作系統升級,現在突然出現X作品,該怎麼辦?如此多的場景。這就是爲什麼功能檢測是正確的選擇。他們不能說謊,只能錯誤地實現功能。 – 2014-10-16 16:32:20

+0

您能否提供一些資料來源?我的第一個來源是Modernizr(特徵檢測)的創建者Faruk Ates,他說:「UA嗅探的最大問題是」UA「部分,因爲瀏覽器在說謊,很多,他們開始說謊,發佈了Microsoft Internet Explorer 2.0 ,而且他們繼續說謊,直到今天,瀏覽者都在說謊他們是誰,他們可以隨時做什麼。「沒有你的進一步證明,我更傾向於相信他。 – 2014-10-17 08:08:23

2

原因很簡單:

由於網站看一下用戶代理字符串並對瀏覽器做出假設,然後在瀏覽器更新爲新版本時無效。

自網絡開始以來,這種情況一直在持續。瀏覽器廠商不希望他們的新版本打破網絡,因此他們調整UA字符串以欺騙現有網站上的代碼。

最終,如果每個人都使用了UA字符串負責任和更新自己的網站,每當新版本的瀏覽器出來,然後瀏覽器就不需要撒謊。但是你必須承認,這是非常重要的。

特徵檢測工作得更好,因爲當一個新的瀏覽器版本出來與功能,檢測會自動把它撿起來沒有任何瀏覽器需要做什麼特別的事情,也不是網站的所有者。

當然,有些時候功能檢測並不完美 - 例如,也許,如果一個功能存在,但在一個特定的瀏覽器的bug。在這種情況下,是的,您可能希望將瀏覽器檢測作爲回退。但在大多數情況下,特徵檢測是一個更好的選擇。

相關問題