pra*_*432 5 javascript events analytics web-analytics
因此Heap Analytics告诉我粘贴此代码以使用他们的产品 -
<script type="text/javascript">
window.heap=window.heap||[];heap.load=function(a){window._heapid=a;var b=document.createElement("script");b.type="text/javascript",b.async=!0,b.src=("https:"===document.location.protocol?"https:":"http:")+"//cdn.heapanalytics.com/js/heap.js";var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);var d=function(a){return function(){heap.push([a].concat(Array.prototype.slice.call(arguments,0)))}},e=["identify","track"];for(var f=0;f<e.length;f++)heap[e[f]]=d(e[f])};
heap.load("YOUR_APP_ID");
</script>
Run Code Online (Sandbox Code Playgroud)
这段代码有什么作用?(除非所有应用程序ID的东西).
我在开源analytics.js中发现了类似的东西
<script type="text/javascript">
window.analytics||(window.analytics=[]),window.analytics.methods=["identify","track","trackLink","trackForm","trackClick","trackSubmit","page","pageview","ab","alias","ready","group","on","once","off"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var method=window.analytics.methods[i];window.analytics[method]=window.analytics.factory(method)}window.analytics.load=function(t){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)},window.analytics.SNIPPET_VERSION="2.0.8",
window.analytics.load("YOUR_WRITE_KEY");
window.analytics.page();
</script>
Run Code Online (Sandbox Code Playgroud)
那是在做类似的事吗?(一眼就看起来像)
@Ennui大概是对的.让我们一块一块地阅读剧本:
window.heap = window.heap || [];
heap.load = function (a) {
window._heapid = a;
var b = document.createElement("script");
b.type = "text/javascript", b.async = !0, b.src = ("https:" === document.location.protocol ? "https:" : "http:") + "//cdn.heapanalytics.com/js/heap.js";
var c = document.getElementsByTagName("script")[0];
c.parentNode.insertBefore(b, c);
var d = function (a) {
return function () {
heap.push([a].concat(Array.prototype.slice.call(arguments, 0)))
}
}, e = ["identify", "track"];
for (var f = 0; f < e.length; f++) heap[e[f]] = d(e[f])
};
heap.load("YOUR_APP_ID");
Run Code Online (Sandbox Code Playgroud)
脚本所做的第一件事就是定义一个全局heap
对象.
脚本所做的第二件事就是定义一个heap.load
方法.heap.load
首先将您的应用程序ID设置为全局变量,以便以后保存.
接下来,它创建一个新的脚本元素来加载heap.js跟踪脚本.heap.js负责将用户事件记录到Heap.
加载heap.js后,heap.load
为其他两个方法定义存根:heap.identify
和heap.track
.这使您即使未加载heap.js也可以调用这些方法.(您可以在Heap的文档页面上阅读更多关于他们所做的事情.)
脚本所做的第三件事就是调用heap.load
你的应用程序ID,它会执行我刚刚谈到的所有内容.:)
归档时间: |
|
查看次数: |
4113 次 |
最近记录: |