回答
檢測瀏覽器版本,特別是通過用戶代理字符串它創建緩存任何問題,是一個非常糟糕的主意。除此之外,這種方法常常因新版本的Opera和Chrome版本而失敗,因爲版本號爲雙位數字,現在版本號爲10+。
改爲使用特徵檢測,這是更好的做法,並提供更多信息。這往往會給你你想要確定的信息。
看看Paul Irish(jQuery和Chrome)和其他人的Modernizr庫。將這些與HTML5Boilerplate中的一些技術混合在一起,通常可以滿足您的所有需求,同時可以跨瀏覽器兼容。
您還可以使用CSS3 @media-queries
將您的網站調整爲手機或小屏幕設備。
+1謝謝,但我不只是在談論跨瀏覽器兼容性。我正在談論的是在Windows上檢測Sarari,在OSX上檢測Safari,在iphone上檢測Safari以及在ipad上檢測Safari,並且希望爲每種風格提供不同的風格。 – 2011-02-23 12:35:02
您可以使用CCS3媒體查詢將不同樣式應用於移動設備上不同大小的屏幕和方向。因爲在不同的操作系統上對同一瀏覽器應用不同的樣式,所以對於您想要控制的元素(即Safari macosx中的按鈕)進行樣式設計會更好,因此它們在所有系統上看起來都一樣。或者更好,只是和它一起生活。某些事情應該在瀏覽器/操作系統之間看起來不同,這個功能不是bug。 – xzyfer 2011-02-23 12:41:23
另外,關於windows和mac osx之間的不同文本渲染,如果你看YUI字體css(也作爲html5boilerplate reset的一部分),它在跨瀏覽器和操作系統的文本規範化方面做得很好' – xzyfer 2011-02-23 12:42:55
- 1. 從瀏覽器代理字符串中檢測設備或操作系統
- 2. jQuery - 檢測操作系統和操作系統版本
- 3. 當前哪些移動瀏覽器版本/設備版本/操作系統版本支持HTML 5,CSS3和jQuery?
- 4. 跨不同操作系統的相同瀏覽器版本
- 5. 操作系統探測在JavaScript中的所有設備和跨瀏覽器
- 6. C++檢測操作系統版本
- 7. jquery瀏覽器和操作系統檢測,可以檢測到android和iOs
- 8. 用戶代理,從字符串中提取操作系統和瀏覽器
- 9. 如何檢查Flutter的設備操作系統版本?
- 10. 瀏覽器版本檢測
- 11. 檢測操作系統,瀏覽器,Adobe Reader,帶寬等
- 12. 如何從Javascript檢測瀏覽器操作系統?
- 13. 檢測操作系統放大瀏覽器
- 14. 獲取用戶瀏覽器,操作系統,閃存版本,JavaScript信息
- 15. 最終用戶瀏覽器和操作系統配置
- 16. 如何在Java小應用程序中檢測瀏覽器和操作系統
- 17. 在PHP中檢索瀏覽器和操作系統
- 18. Chrome可以欺騙用戶代理和操作系統嗎?
- 19. 使用GWT檢測瀏覽器版本?
- 20. 檢測操作系統版本JavaScript和重定向
- 21. 設置應用程序以檢測操作系統版本。和iPhone或iPad
- 22. 檢測外殼腳本中的Windows操作系統版本
- 23. 用戶瀏覽器,操作系統,閃存等信息
- 24. JS插件來檢測用戶的瀏覽器,操作系統,語言,地理位置...?
- 25. 檢查DLL操作系統版本
- 26. 瀏覽器「幫助應用程序」跨瀏覽器和操作系統
- 27. 如何使用宏檢測iPhone操作系統版本
- 28. 可以升級設備的android最新操作系統版本
- 29. 檢測用戶在瀏覽器上的操作
- 30. 獲取客戶操作系統/瀏覽器的詳細信息
爲什麼要檢測瀏覽器和緩存是相關的? – 2011-02-23 12:35:35