kissmetrics要求的脚本

时间:2015-12-18 20:36:50

标签: javascript kissmetrics

KISSMetrics在我的网站上加载时有时会造成麻烦。那些熟悉它的人可能会知道他们的文档中出现的以下片段:

<!-- Kissmetrics tracking snippet -->
<script type="text/javascript">var _kmq = _kmq || [];
var _kmk = _kmk || '61d817358af517ab2975dbb768eeb1d6d0d07c4b';
function _kms(u){
  setTimeout(function(){
    var d = document, f = d.getElementsByTagName('script')[0],
    s = d.createElement('script');
    s.type = 'text/javascript'; s.async = true; s.src = u;
    f.parentNode.insertBefore(s, f);
  }, 1);
}
_kms('//i.kissmetrics.com/i.js');
_kms('//scripts.kissmetrics.com/' + _kmk + '.2.js');
</script>

cf。:https://app.kissmetrics.com/setup/integration/9ac2445636036f9151b84b444b1ae78d105d0f7a

这真的很花哨,我想知道为什么我不能比这更简单。

打开文件i.kissmetrics.com/i.js,我们看到了单行:

if(typeof(_kmil) == 'function')_kmil();

表示如果将_kmil识别为函数,则运行_kmil()。同时,_kmil()KM.ikmq()的别名,是您看到的第二个脚本中定义的函数。

当第二个脚本scripts.kissmetrics.com/61d817358af517ab2975dbb768eeb1d6d0d07c4b.2.js°无法加载或加载延迟时,似乎会出现问题。

我想做以下事情: 将scripts.kissmetrics...放入我的html的head节点,然后,而不是包含i.js,只需在我为KISSMetrics跟踪的点击事件注册听众之前运行函数window.KM.ikmq()

如果有的话会有什么缺点?

完全可选的红利问题:如果在脚本的其余部分中未使用变量var _kmq = _kmq || [];,则_kmq上方代码段中第一行代码的目的是什么?

°十六进制字符串是用于演示目的的假密钥

0 个答案:

没有答案