【发布时间】:2017-09-25 04:53:35
【问题描述】:
我使用 Google 跟踪代码管理器并希望捕获对 iframe 元素(视频)的点击。当访问者第一次点击 iframe 时,我想将特殊值推送到 DataLayer(此处不包含)。
这是我目前的代码:
function (){
var monitor = setInterval(isIFrame,1000);
function isIFrame(){
var elem = document.activeElement;
if(elem && elem.tagName == 'IFRAME'){
clearInterval(monitor);
alert ("x"); //The datalayer code would go here instead
}
return;
}
}
检测 iframe 上的点击效果很好,警报也正常工作,但 setInterval 并没有被 clearInterval 停止。
我最近开始编码,因此我们将不胜感激。
基本上,我希望 IF 中的函数只运行一次 - 并且必须使用间隔,因为我必须每秒检查该人是否已经单击(= 在内部处于活动状态)iframe。由于我使用 GTM,我无法将监视器定义为全局变量。
【问题讨论】:
-
你试过
clearInterval(this)吗? -
谢谢 - 是的,但也没有用。
标签: javascript iframe google-tag-manager