Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 浏览器名称、版本值返回“0”;“网景”;_Javascript - Fatal编程技术网

Javascript 浏览器名称、版本值返回“0”;“网景”;

Javascript 浏览器名称、版本值返回“0”;“网景”;,javascript,Javascript,使用一些简单的JavaScript,我得到了两段类似代码中的一段返回的似乎不正确的值。对于browserName,无论在哪个浏览器上测试代码,我都会得到Netscape作为返回值browserVer似乎返回了正确的值,如下所示,使用谷歌浏览器 browserVer结果: 5.0(Macintosh;英特尔Mac OS X 10_8_5)AppleWebKit/536.30.1(KHTML,类似Gecko)版本/6.0.5 Safari/536.30.1 为什么会这样 var browse

使用一些简单的JavaScript,我得到了两段类似代码中的一段返回的似乎不正确的值。对于
browserName
,无论在哪个浏览器上测试代码,我都会得到Netscape作为返回值<但是,code>browserVer似乎返回了正确的值,如下所示,使用谷歌浏览器

browserVer
结果:

5.0(Macintosh;英特尔Mac OS X 10_8_5)AppleWebKit/536.30.1(KHTML,类似Gecko)版本/6.0.5 Safari/536.30.1

为什么会这样

    var browserName = navigator.appName;
    var browserVer = navigator.appVersion;

一次更好的搜索揭示了答案()

MDN说:“这最初是DOM级别0的一部分,但后来被包含在HTML5规范中。” 请参见此处的Mozilla文档。
顺便说一句;这就是为什么这不能用于浏览器检测(可能仅适用于IE)。浏览器检测是一种不好的做法,您应该尽可能避免。请改为进行功能检测。但如果有人坚持这样做,他们应该改为使用userAgent属性。”

快速搜索一下
navigator.appName
实际上意味着返回,其中包括以下事实:

HTML5规范还允许任何浏览器在此处返回“Netscape”,这是出于兼容性原因


相反,您可能应该使用类似

Yep的浏览器嗅探库,在更改搜索的措辞后,我发现了相同的东西。谢谢你的分享:现代化。