浏览器检测与功能检测

时间:2014-06-12 17:00:44

标签: javascript jquery browser

当用户使用旧浏览器(IE 6/7/8)时,该页面应显示警告消息并通知用户升级浏览器。

但在互联网上,很少有文章建议不要检测浏览器。但检测功能支持。

对于E.g,在使用localstorage时。

   if(localStorage) {
      // Perform actions
   }

但这是对的吗?如果我们需要检测特征,那么我们需要很多条件。

如何使用javascript / jQuery获取浏览器版本?此外,我需要知道用户是否也使用兼容模式

2 个答案:

答案 0 :(得分:2)

始终,始终功能检测。

那里有数百种浏览器。不只是在电脑上,而是在手机,平板电脑,游戏机上......

Nintendo DS浏览器不支持localStorage,但如果您只排除旧IE,那么Nintendo DS用户将无法使用您的网站而不知道原因

因此,除非您想要编译已开发的每个浏览器的列表,并检查它们是否具有您想要的功能,并构建一长串不受支持的浏览器...只需省去麻烦并写下{ {1}}

答案 1 :(得分:0)

尝试检测浏览器既复杂又棘手,因为只有许多。特征检测是一种更“清洁”的方式,因为您可以利用您知道的所有可用的各个功能,而无需做出假设。

在检查localStorage可用性的情况下,您应该实际检查如下:

if(typeof window.localStorage !== "undefined"){

如果变量不存在,则会抛出错误,因此语句的else条件永远不会运行。因为localStoragewindow的属性,所以可以检查属性是否存在并获得布尔值。