- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我测试的所有浏览器(IE、Firefox、Chrome、Safari、Opera、Yandex)中,window.navigator.appCodeName
返回 “Mozilla”
。我知道网络浏览器“劫持”用户代理以欺骗页面以为它们与所有其他浏览器兼容的历史,我很满足于 appCodeName
只是该主体的扩展,然而,我读了the standard ,事实证明标准本身说这将是硬编码值“Mozilla”。所以所有这些浏览器实际上都遵循标准。
这个值为什么存在?我假设它是为将来使用而保留的,但计划是什么?
This question并没有真正解释它,因为它只是说这是因为浏览器劫持了它,我已经理解这一点,但我更想知道过去或将来的用途是什么。
最佳答案
来自 NavigatorID.appCodeName
- Web API Interfaces :
The
NavigatorID.appCodeName
always returns'Mozilla'
, on any browser. This property is kept only for compatibility purposes.Note: Do not rely on this property to return a real product name. All browsers return "Mozilla" as the value of this property.
这类似于 NavigatorID.product
,它始终返回字符串 'Gecko'
。
正如 Sebastian G. 在 his answer 中解释的那样,它被用于用户代理嗅探。这意味着在某个时间点,非 Mozilla 浏览器在其 UA 字符串中不包含 Mozilla
。虽然我不确定基于 Mozilla/Mozilla 的浏览器在 UA 字符串中有 "Mozilla"
和在中添加 "Mozilla"
之间有多久非 Mozilla 浏览器。
我找不到任何关于 appCodeName
属性何时首次在 navigator
对象中可用的文档(大概是在 2000 年之前,因为它是 referenced in 2000 as "ages ago")。
您可能会对这篇文章感兴趣:Agent Strings in Popular Browsers
关于javascript - window.navigator.appCodeName 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850564/
我想检测浏览器,然后我需要根据浏览器加载 css 文件。为此我使用以下 javascript。但问题是我使用的任何浏览器都显示 Mozilla 作为代号。 browsername=navigator
在我测试的所有浏览器(IE、Firefox、Chrome、Safari、Opera、Yandex)中,window.navigator.appCodeName 返回 “Mozilla”。我知道网络浏览
在执行下面的代码时,即使它是在 safari 或 chrome 中的 Useragent 和 AppCode Name 处执行,它也会显示 Mozilla。我错过了什么吗?
以下 JavaScript 代码在所有浏览器上返回“Mozilla”。为什么? document.write("Browser CodeName: " + navigator.appCodeNa
我是一名优秀的程序员,十分优秀!