navigator.appname怎么用?看完这篇你就全懂了!

吉云

今天跟大家唠唠我鼓捣 `*` 属性的一些事儿。这玩意儿,现在用处真不大,但架不住我好奇心重,非得摸清楚它的底细。

我寻思着这 `appName` 肯定能返回浏览器的名字,比如 Chrome、Firefox 之类的。结果一试,好家伙,清一色的“Netscape”。当时我就懵,这都什么年代,怎么还冒出 Netscape ?

然后我就开始各种查资料,翻文档,才发现这 `*` 压根儿就不是用来获取浏览器真实名称的。它就是一个历史遗留的“老古董”,为兼容以前的代码才保留下来的。说白,就是个摆设,没什么实际价值。

navigator.appname怎么用?看完这篇你就全懂了!

不过既然都折腾,也不能半途而废。我就想着,能不能用这玩意儿做点什么有意思的事情。 于是乎,我就开始尝试用 `*` 来判断浏览器类型。虽然它始终返回 "Netscape",但我可以结合其他的 `navigator` 属性,比如 `*` 来进行判断。

  • 先写个简单的 HTML 文件,里面放个 <script> 标签。
  • 然后在 <script> 标签里,用 `*(*)` 打印出 `appName` 的值,果然是 "Netscape"。
  • 我再用 `*(*)` 打印出 `userAgent` 的值,这个字符串包含更详细的浏览器信息。

navigator.appname怎么用?看完这篇你就全懂了!

拿到 `userAgent` 之后,我就可以用 JavaScript 的字符串处理方法,比如 `indexOf()` 或者正则表达式,来判断浏览器的类型。虽然 `appName` 没啥用,但至少通过这种方式,我还是能获取到浏览器的信息。

这种方法也不是万无一失的。`userAgent` 字符串是可以被修改的,所以不能完全依赖它来判断浏览器类型。但对于一些简单的场景,还是可以凑合用的。

这回折腾 `*` 算是让我长个见识。虽然它本身没啥用,但通过它,我解浏览器的历史,也学习一些 JavaScript 的技巧。以后遇到类似的情况,我也能更冷静地分析问题,找到解决方案。 实践出真知,古人诚不欺我!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]