Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 浏览器检测与功能检测_Javascript_Jquery_Browser - Fatal编程技术网

Javascript 浏览器检测与功能检测

Javascript 浏览器检测与功能检测,javascript,jquery,browser,Javascript,Jquery,Browser,当用户使用旧浏览器如(IE 6/7/8)时,页面应显示警告消息并通知用户升级浏览器 但在互联网上,很少有文章建议不检测浏览器。但是检测功能支持 例如,在使用localstorage时 if(localStorage) { // Perform actions } 但这是正确的吗?如果我们需要检测特征,那么我们需要涉及很多条件 另外,如何使用javascript/jQuery获取浏览器版本?此外,我还需要知道用户是否也使用兼容模式来检测浏览器,这既复杂又棘手,因为浏览器太

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

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

例如,在使用localstorage时

   if(localStorage) {
      // Perform actions
   }
但这是正确的吗?如果我们需要检测特征,那么我们需要涉及很多条件


另外,如何使用javascript/jQuery获取浏览器版本?此外,我还需要知道用户是否也使用兼容模式来检测浏览器,这既复杂又棘手,因为浏览器太多了。特征检测是一种更“干净”的方法,因为您可以使用您知道可用的所有单个特征,而无需进行假设

在检查本地存储可用性的情况下,您实际上应该这样检查:

if(typeof window.localStorage !== "undefined"){
如果变量不存在,将抛出错误,因此语句的
else
条件将永远不会运行。由于
localStorage
window
的一个属性,因此可以检查该属性是否存在并获取一个布尔值。

始终,始终检测功能

有数百种浏览器。不仅在电脑上,在手机、平板电脑、游戏机上

任天堂DS浏览器不支持
本地存储
,但如果您只排除旧IE,那么任天堂DS用户将无法使用您的网站,并且不知道原因


因此,除非你想编译一个列表,列出曾经开发过的每一个浏览器,检查它们是否具有你想要的功能,并建立一个长长的列表,列出不受支持的浏览器。。。只需省去麻烦,编写
如果(!window.localStorage){/*在这里为localStorage实现一些回退,也许是cookies?*/}

对于旧IE,您可以使用它,它只在这些旧IE中执行…并且将在将来开发…尝试检测单个浏览器很容易。尝试检测一组支持某个功能的浏览器是…