簡體   English   中英

JS-setInterval / clearInterval在if-condition內部不起作用

[英]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;
 }
}

http://jsfiddle.net/Rishi0405/96nhf1x3/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM