事件跟踪:如何防止双重加载analytics.js

时间:2017-12-24 12:40:46

标签: javascript jquery html iframe google-analytics

我的网页上有一个iframe。此iframe包含具有许多选择的表单。为了减少加载时间,在使用jquery的document.ready之后加载这个iframe。现在我想跟踪是否单击了表单中的按钮。在网页中使用Google Analytics跟踪事件有效,但如果要跟踪表单中的事件,我必须在iframe中加载的文件中包含analytics.js。

问题:iframe事件跟踪有效,但analytics.js加载了两次,每个页面请求都会被计算两次。

为了解决这个问题,我检查是否已加载analytics.js以防止双重加载,但这必须通过一个小的超时来完成。超时取决于每个用户的可用带宽,并且不会为每个用户修复。这同样适用于document.ready。

跟踪代码无法包含在html文件中,因为在document.ready之后加载了jquery

那么如何在没有双重加载analytics.js的情况下跟踪iframe事件?

1 个答案:

答案 0 :(得分:0)

我发现您的analytics.js文件存在问题,因为它加载了两次。要回答你的问题,我想提出一些建议。

Google Analytics如何收集数据?

  

Google Analytics用于提供报告中所有信息的数据来自以下来源:

用户browser/system信息的HTTP请求 First-party cookies

另一点是,document.ready()阻止脚本实际加载,直到整个文档加载完毕。因此,我建议您采取以下步骤。它应该完美无缺。

  • 将analytics.js文件放在html的正文结束标记之前 <script src="analytics.js"></script> </body>
  • 删除document.ready()功能,并将内部脚本放在分析脚本标记之前。

这样可以防止双重加载并有效地使脚本无需重新加载即可运行。

PS。如果它不起作用,我想看看你的代码。但是,它应该可以完美地运作。