[英]JS - setInterval/clearInterval not working inside if-condition
我使用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中的函數只運行一次-必須使用intervall,因為我必須每秒檢查一下該人是否已經單擊(=在iframe中處於活動狀態)。 由於使用GTM,因此無法將Monitor定義為全局變量。
請檢查控件是否進入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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.