2

是否可以假定一个浏览器显示Mozilla/5.0 (compatible...)支持 HTML5?

4

2 回答 2

6

不,您应该使用Modernizr 之类的东西来检测功能并在必要时回退。

HTML5 是不同功能的集合,因此您应该检查您想要的浏览器功能。User-Agent 字段不应该用于确定兼容性,因为客户端程序可能会对此撒谎。用户代理嗅探不是确定兼容性的推荐方法——它太容易出错,并且有多个浏览器可以更改用户代理字段以显示为其他浏览器。

Mozilla/5.0 或 Mozilla/4.0 出现在这么多浏览器的 User-Agent 中的原因是为了表明它们与 Netscape 的某些版本向后兼容(4.0 = Netscape 4.0 -- 5.0 与原始套件兼容(又名海猴子))。基本上每个浏览器都会声称这种兼容性,所以它不是一个非常有用的指标。

于 2012-11-22T18:38:15.790 回答
1

我通常不使用标题来检查 HTML5 兼容性,只是让浏览器去做:同时发送 HTML5 和 HTML<5 内容,并做一些技巧以在适当的情况下显示它们。例如:

<audio>Username:</audio><input type="text" placeholder="Username">

在这种情况下,如果可能,请使用placeholder,否则显示标签。中的内容<audio>...</audio>会被非 HTML5 浏览器显示,而 HTML5 浏览器会忽略它;反之亦然,非 HTML5 浏览器不会解析placeholder="Username",而 HTML5 浏览器会。

于 2012-11-22T18:37:59.547 回答