我需要使用Ruby製作if
語句,該語句用於檢查客戶端的瀏覽器是否支持HTML5。如何檢查瀏覽器是否支持使用Ruby的HTML5和CSS3功能?
4
A
回答
9
簡版:你將無法也不應該。
長版本:如果您執行一些用戶代理嗅探,可能有可能確定用戶的瀏覽器是否支持HTML5。但是,這需要花費相當多的努力才能獲得正確的結果。更好的解決方案是使用像Modernizr(http://www.modernizr.com/)這樣的功能在客戶端進行功能檢測。
1
可以根據HTTP_USER_AGENT
字符串讀取瀏覽器信息,但是,如上所述以及其他許多地方,欺騙該信息也很容易。在服務器端,我們只關心它,因爲它讓我們可以全面瞭解用於訪問我們網站的客戶端瀏覽器。
嘗試對後端的瀏覽器做出反應並呈現不同內容的網站已經嘗試了一段時間,但由於瀏覽器如何欺騙其他瀏覽器,但沒有相同的錯誤而失敗。
正如@Stephen Orr所說,CSS是一種更好的處理方式。確定它很糟糕,仍然很容易出錯,但它比嗅探瀏覽器的簽名要好。我們過去常常詛咒IE的每一個版本,因爲它打破了以前的修正。幸運的是,隨着廠商逐漸走向標準,情況似乎越來越好。
1
可以在HTML5上做Feature detection,在您需要時從HTML5檢測單個功能。然而,沒有辦法檢測瀏覽器是否支持HTML5作爲一個大塊 - 因爲沒有「官方」方式來判斷瀏覽器是否支持所有HTML5或僅支持HTML5的一部分。
1
大部分功能可以檢測到(用JavaScript),但有些品種等形式的最新特徵字段是一個問題:http://united-coders.com/matthias-reuter/user-agent-sniffing-is-back
0
< [html5 element] id="somethingtobedazzledby">
Upgrade your browser
</ [html5 element] >
相關問題
- 1. 如何檢測瀏覽器是否支持此HTML5功能
- 2. 使用JavaScript檢查瀏覽器是否支持css3和/或HTML5屬性
- 3. 如何檢測IE瀏覽器中的HTML5和CSS3支持?
- 4. 如何檢查瀏覽器是否支持HTML5?
- 5. 如何檢測瀏覽器是否支持CSS3模糊?
- 6. 檢查瀏覽器是否支持HTML5時間選擇器
- 7. 檢查瀏覽器是否支持SVG
- 8. 檢查瀏覽器是否支持MutationObserver
- 9. 如何使用JS/jQuery檢查瀏覽器是否支持touchstart?
- 10. 如何檢查用戶的瀏覽器是否支持Google Caja?
- 11. 如何檢查瀏覽器對功能/事件的支持?
- 12. 如何檢測瀏覽器是否支持webkit瀏覽器?
- 13. 瀏覽器功能檢測 - 是否支持Silverlight?
- 14. 檢測瀏覽器與Modernizr支持css3
- 15. 使用不受支持的瀏覽器[HTML5/CSS3]
- 16. 如何檢查瀏覽器是否支持JavaScript的svg?
- 17. 如何檢查瀏覽器是否支持HTML5文件上傳(FormData對象)?
- 18. 如何檢查瀏覽器對HTML5表單屬性的支持?
- 19. 檢測瀏覽器是否支持jQueryMobile
- 20. 檢測瀏覽器是否支持vbscript?
- 21. 確定手機瀏覽器是否支持CSS和JavaScript功能
- 22. 如何檢查瀏覽器是否支持webanimation API?
- 23. 如何檢查瀏覽器是否支持Facebook Javascript SDK
- 24. 如何檢查瀏覽器是否支持HTML元素
- 25. 如何檢查瀏覽器是否支持ajax?
- 26. 如何檢查瀏覽器是否支持webkit目錄?
- 27. 如何檢查瀏覽器是否支持JavaScript,在javascript中?
- 28. 如何檢查瀏覽器是否支持Flash?
- 29. 如何檢查語音識別是否支持瀏覽器
- 30. 如何通過JavaScript檢測瀏覽器是否支持CSS3媒體查詢和CSS3漸變?
我添加了`css`標籤。 – 2010-11-25 17:52:07
你檢查了http://html5test.com/?他們做了非常全面的html功能支持檢查。 – 2010-11-25 18:17:29
modernizr幫助您解決這個問題 – 2011-10-27 20:21:14