<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-76796224-1', 'auto');
ga('send', 'pageview');
</script>
执行匿名函数主要就是加载谷歌统计的js代码,并且生成ga这个全局匿名函数用的,参数做了一些压缩。具体说明如下。有帮助麻烦点个采纳【本回答右上角】,谢谢~~
(function (i,//window
s,// document
o,//script
g,//'https://www.google-analytics.com/analytics.js'
r,//'ga'
a,//a,m没未传参,预定义下面的2个script对象名
m) {
i['GoogleAnalyticsObject'] = r;//window['GoogleAnalyticsObject']='ga'//设置全局变量GoogleAnalyticsObject为ga字符串值
i[r] = i[r]//判断window.ga匿名函数是否存在,存在就获取原来的值(函数),否则设置未一个匿名函数,就是下面调用的ga('create', 'UA-76796224-1', 'auto');ga('send', 'pageview');
|| function () {
//这句和i[r]原理差不多,给window.ga匿名函数添加q属性(数组),不存在默认赋值为[],注意这里的arguments为调用ga函数时传入的参数
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();//
a = s.createElement(o),//a=document.createElement('script')
m = s.getElementsByTagName(o)[0];//获取DOM中第一个出现的script标签
a.async = 1;//给新建script添加async属性,异步执行,参考:https://www.w3school.com.cn/html5/att_script_async.asp
a.src = g;//设置新家script的src属性为谷歌统计js url
m.parentNode.insertBefore(a, m)//在第一个出现的script前面插入谷歌统计script
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-76796224-1', 'auto');
ga('send', 'pageview');
console.log(ga.q)//上面ga传入的2个参数数组
谷歌统计统计网站流量
第一知识点是匿名函数了,然后就是动态创建加载js
这就是个初始化跟踪器的代码,主要的逻辑都在https://www.google-analytics.com/analytics.js
这一套代码的逻辑
下方文档
获取和设置字段数据 | 适用于网站的 Google Analytics(分析)(analytics.js) https://developers.google.cn/analytics/devguides/collection/analyticsjs/accessing-trackers