如何檢查用戶當前的瀏覽器是否爲Safari 5?通過JS for Safari 5瀏覽器檢測
更新
我們對我們網站的檢查顯示,如果用戶使用舊版瀏覽器消息「不支持的瀏覽器」。目前我們的錯誤顯示爲最新的Safari,它不應該。
如何檢查用戶當前的瀏覽器是否爲Safari 5?通過JS for Safari 5瀏覽器檢測
更新
我們對我們網站的檢查顯示,如果用戶使用舊版瀏覽器消息「不支持的瀏覽器」。目前我們的錯誤顯示爲最新的Safari,它不應該。
參見:
或者
但是,這不是一個好的做法,它始終是最好的,但是,要完全避免特定瀏覽器的代碼在可能的情況。 JQuery $.support
屬性(如果需要)可用於檢測對特定功能的支持,而不是依賴瀏覽器名稱和版本。
如果你確實想這樣做,你可以檢查用戶代理沿着Ext用於執行它的相同的行。
從Ext.js一個片段:
ua = navigator.userAgent.toLowerCase(),
check = function(r){
return r.test(ua);
},
DOC = document,
isStrict = DOC.compatMode == "CSS1Compat",
isOpera = check(/opera/),
isChrome = check(/\bchrome\b/),
isWebKit = check(/webkit/),
isSafari = !isChrome && check(/safari/),
isSafari2 = isSafari && check(/applewebkit\/4/), // unique to Safari 2
isSafari3 = isSafari && check(/version\/3/),
isSafari4 = isSafari && check(/version\/4/),
我猜對Safari 5的,你可以寫一個類似的測試,其中版是5,雖然我沒有檢查什麼的Safari 5的用戶代理字符串看起來像我自己。
等等,停下來,*爲什麼*你在做這個?你不應該檢查*爲瀏覽器*,你應該檢查**要使用的功能**。 – 2010-06-27 12:53:33
確實。 (幾乎)所有這些瀏覽器嗅探腳本都會對用戶代理字符串進行測試,這些字符串在Safari中很容易被欺騙(因此它假裝它是另一個瀏覽器),並且您想要的解決方法不會彈出。另請閱讀http: //www.nczonline.net/blog/2009/12/29/feature-detection-is-not-browser-detection/ – 2010-06-27 14:57:38
[Browser Detection]的可能重複(http://stackoverflow.com/questions/100898/browser -detection) – 2010-06-27 14:59:51