是否可以假定瀏覽器指示Mozilla/5.0 (compatible...)
是否支持HTML5?用戶代理字段中的Mozilla/5.0是否表示瀏覽器支持HTML5?
回答
不可以。您應該使用類似Modernizr的東西來檢測功能並在必要時進行回退。
HTML5是一個不同功能的集合,所以你應該檢查你想要的瀏覽器功能。用戶代理字段不應該用於確定兼容性,因爲客戶端程序可能會說謊。用戶代理嗅探不是推薦的方法來確定兼容性 - 它很容易出錯,並且有多個瀏覽器可以將User-Agent字段更改爲其他瀏覽器。
Mozilla/5.0或Mozilla/4.0出現在用戶代理中這麼多瀏覽器的原因是爲了表明它們與某些版本的Netscape具有向後兼容性(4.0 = Netscape 4.0 - 5.0與原始套件(又名SeaMonkey))。基本上每個瀏覽器都會聲明這種兼容性,所以它不是一個非常有用的指標。
+1表示Modernizr。 –
我明白,但你可以通過檢查它是否不低於Mozilla/5.0來清除非常舊的瀏覽器。然後爲5.0做更多的細粒度功能測試。 – mojuba
@mojuba:這部分用戶代理字符串絕對沒有意義,它是向Netscape 4後向兼容的致敬。 –
我通常不會使用標題來檢查HTML5的兼容性,只需讓瀏覽器執行此操作即可:發送HTML5和HTML內容,並在適當的情況下進行一些黑客操作。例如:
<audio>Username:</audio><input type="text" placeholder="Username">
在這種情況下,如果可能的話,使用placeholder
,否則顯示的標籤。 <audio>...</audio>
中的內容將由非HTML5瀏覽器顯示,而HTML5瀏覽器將忽略它;反之亦然,非HTML5瀏覽器將不會解析placeholder="Username"
,而HTML5瀏覽器則會。
- 1. ASP.NET圖表控件是否支持瀏覽器中的canvas/html5?
- 2. 如何判斷瀏覽器是否支持基於用戶代理的Silverlight?
- 3. 檢查瀏覽器是否支持HTML5時間選擇器
- 4. 提示用戶啓用支持瀏覽器的物理網絡
- 5. 任何瀏覽器是否還支持HTML5的checkValidity()方法?
- 6. 任何瀏覽器是否支持HTML5的上下文菜單?
- 7. 畫布和HTML5:支持的瀏覽器?
- 8. HTML5的saveAs谷歌瀏覽器支持
- 9. 如何檢查瀏覽器是否支持HTML5?
- 10. 如何檢測瀏覽器是否支持此HTML5功能
- 11. 如何檢查用戶的瀏覽器是否支持Google Caja?
- 12. JavaScript可以檢測用戶的瀏覽器是否支持gzip?
- 13. 是否有支持用戶登錄的python網絡瀏覽器?
- 14. Wii瀏覽器是否支持WebSockets?
- 15. iPad瀏覽器是否支持jQuery?
- 16. 檢查瀏覽器是否支持SVG
- 17. Chrome瀏覽器是否支持GWT 2.5?
- 18. SWT測試是否支持瀏覽器
- 19. 瀏覽器是否支持JavaScript Promises
- 20. Selenium2Library(1.5)是否支持Safari瀏覽器
- 21. 檢查瀏覽器是否支持MutationObserver
- 22. 檢測瀏覽器是否支持jQueryMobile
- 23. 檢測瀏覽器是否支持vbscript?
- 24. 是否有瀏覽器不支持maxlength?
- 25. 瀏覽器支持WebDriver還是WebDriver支持瀏覽器
- 26. 哪些瀏覽器支持HTML5 History API?
- 27. 當前瀏覽器支持html5視頻
- 28. Android瀏覽器支持多少HTML5?
- 29. HTML5 pushState跨瀏覽器支持
- 30. HTML5手機瀏覽器支持
翻譯提示:在這個結構中,「mean」這個詞比「signify」更合適。並不總是直譯(「意思」也是從我的語言直接翻譯)是正確的。 –