Javascript kissmetrics所需的脚本
KISSMetrics在我的站点上加载时有时会导致问题。熟悉它的人可能知道文档中出现的以下代码片段:Javascript kissmetrics所需的脚本,javascript,kissmetrics,Javascript,Kissmetrics,KISSMetrics在我的站点上加载时有时会导致问题。熟悉它的人可能知道文档中出现的以下代码片段: <!-- Kissmetrics tracking snippet --> <script type="text/javascript">var _kmq = _kmq || []; var _kmk = _kmk || '61d817358af517ab2975dbb768eeb1d6d0d07c4b'; function _kms(u){ setTimeout(f
<!-- 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>
这意味着“如果您将kmil识别为函数,请运行kmil()。”同时,\u kmil()
是KM.ikmq()
的别名,该函数在您看到的第二个脚本中定义
当第二个脚本scripts.kissmetrics.com/61d817358af517ab2975dbb768eeb1d6d0d07c4b.2.js
“未能加载或加载延迟时,似乎出现了问题
我想改为执行以下操作:
将scripts.kissmetrics…
放入我的html的head节点,然后,在我注册kissmetrics跟踪单击事件的侦听器之前,只需运行函数window.KM.ikmq()
,而不是包含i.js
如果有的话,这会有什么缺点
完全可选的额外问题:上面代码段的第一行代码的目的是什么代码>如果脚本的其余部分未使用变量\u kmq
°十六进制字符串是用于演示目的的假键我的网站上没有加载他们的脚本,这是一个问题。你能让它像你所描述的那样工作吗?我的js fu不能胜任这项任务。我做的一个快速修复是自己托管JS文件。我的站点使用的是通过Cloudfront托管的静态S3WebSite,我认为对KM脚本(I.js)文件来说加载速度太快了。所以我自己主持,它不再失败了。另外,他们当前的脚本使用CNAME作为第二个脚本(scripts.kissmetrics.com),但我以前的脚本使用CloudFrontURL(//doug1izaerwt3.Cloudfront.net)。当我更新我的脚本以使用CNAME时,它失败了,但是使用我原来的CF URL它可以正常加载。也许将您的更改为CF URL也会有所帮助。这并不是说它不工作,它一直工作得很好,我只是不明白是否需要额外的一行脚本。
if(typeof(_kmil) == 'function')_kmil();