为什么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
。