我使用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上的点击效果非常好,并且警报也正常工作,但clearInterval没有停止setInterval。
我最近开始编码,所以任何帮助都会受到赞赏。
基本上,我希望IF中的函数只运行一次 - 并且必须使用intervall,因为如果该人已经点击了(=内部是活动的)iframe,我必须每秒检查一次。由于我使用GTM,我无法将监视器定义为全局变量。
答案 0 :(得分:0)
请检查控件是否进入if情况。否则就不会停止。
interval()
function interval(){
var monitor = setInterval(isIFrame,1000);
var elem = "document.activeElement";
function isIFrame(){
if(elem && elem== 'IFRAME'){
clearInterval(monitor);
alert("x"); //The datalayer code would go here instead
}
elem = "IFRAME"
return;
}
}