为什么navigator.appName为Safari,Firefox和Chrome返回“Netscape”?

他们与旧的浏览器Netscape有什么关系?可能是因为DOM0吗?

最佳答案

是的,那是出于兼容性问题,并不值得依赖。
MDN 说:“它最初是DOM Level 0的一部分,但此后已包含在HTML5规范中。”

参见Mozilla documentation here

顺便提一句;这就是为什么它不能用于浏览器检测的原因。 浏览器检测是一种不好的做法,您应尽可能避免使用它。请改为 feature detection 。但是如果有人坚持这一点;他们应该改用userAgent属性。

更新1 :根据Compatibility Changes IE11 现在还为"Netscape"属性返回navigator.appName,以反射(reflect)HTML5标准并匹配其他浏览器的行为。另请参见userAgent字符串here的更改...有关特征检测here的更多信息...

更新2 : Microsoft Edge 还返回"Netscape"navigator.appName

09-25 18:52