当用户使用旧浏览器(IE 6/7/8)时,该页面应显示警告消息并通知用户升级浏览器。
但在互联网上,很少有文章建议不要检测浏览器。但检测功能支持。
对于E.g,在使用localstorage时。
if(localStorage) {
// Perform actions
}
但这是对的吗?如果我们需要检测特征,那么我们需要很多条件。
如何使用javascript / jQuery获取浏览器版本?此外,我需要知道用户是否也使用兼容模式
答案 0 :(得分:2)
始终,始终功能检测。
那里有数百种浏览器。不只是在电脑上,而是在手机,平板电脑,游戏机上......
Nintendo DS浏览器不支持localStorage
,但如果您只排除旧IE,那么Nintendo DS用户将无法使用您的网站而不知道原因
因此,除非您想要编译已开发的每个浏览器的列表,并检查它们是否具有您想要的功能,并构建一长串不受支持的浏览器...只需省去麻烦并写下{ {1}}
答案 1 :(得分:0)
尝试检测浏览器既复杂又棘手,因为只有许多。特征检测是一种更“清洁”的方式,因为您可以利用您知道的所有可用的各个功能,而无需做出假设。
在检查localStorage可用性的情况下,您应该实际检查如下:
if(typeof window.localStorage !== "undefined"){
如果变量不存在,则会抛出错误,因此语句的else
条件永远不会运行。因为localStorage
是window
的属性,所以可以检查属性是否存在并获得布尔值。