数据埋点里常用的Navigator对象

907 阅读2分钟

前言

紧跟着上篇文章中说的部门推进的专项mapping数据采集系统,后续给我的任务也来了,就是查看公司现有一套数据采集埋点+事件的一套流程和代码。

翻看源代码, navigator对象自然是数据采集必不可少的一大利器,接下来就整理介绍一些常用navigator对象的属性+方法,作用和方法。啊啊啊啊巴拉巴拉,跟着一些温习navigator对象吧~

navigator.javaEnabled

定义和用法

javaEnabled()方法可返回一个布尔值,该值指示浏览器是否支持并启用了Java。如果是:则返回true;否:则返回false

navigator.javaEnabled()

有啥作用?

提示:可以使用 navigator.javaEnabled() 来检测当前浏览器是否支持 Java,从而知道浏览器是否能显示 Java 小程序。

navigator.language & navigaotr.languages

定义和用法

navigator.language返回一个字符串,该字符串代表用户的首先语言,通常是浏览器使用的语言。navigator.language为只读属性。

NavigatorLanguage.languages 只读属性 ,返回一个 DOMString 的数组,数组内容表示网站访客所使用的语言。 使用 BCP 47 语言标签来描述不同的语言。 在返回的数组中,最适合当前用户的语言将会被排到数组的首位

developer.mozilla.org/zh-CN/docs/…

navigator.language 的值是该属性返回数组的第一个元素 [3]。(但它基于系统语言设置。)

当该值发生改变,即最适合用户的语言被改变, 事件languagechange 将会在 Window 对象下触发。

在每一个HTTP请求上的来自用户浏览器的HTTP协议头 Accept-Language 使用相同的来自 navigator.languages 属性的语言值,除了特殊的 qvalues (权重值) 字段 (如:en-US;q=0.8)。

语法

preferredLanguages = globalObj.navigator.languages
navigator.language   //"en-US"
navigator.languages  //["en-US", "zh-CN", "ja-JP"]

有啥作用?

获取浏览器当前优先使用的默认语言

参考讨论文章

segmentfault.com/q/101000000…

navigator.cookieEnabled

定义和用法

cookieEnabled属性可返回一个布尔值,如果浏览器启用了 cookie,该属性值为 true。如果禁用了 cookie,则值为 false。

只读属性。

navigator.cookieEnabled

有啥作用?

获取到浏览器是否支持cookie 案例:

if (!navigator.cookieEnabled) {
  // 浏览器不支持 cookie,或者用户禁用了 cookie。
}