2012-02-21 227 views
1

此腳本在iframe的內容發生更改時發出警報。但不幸的是,它會在首頁加載時發出警報。那麼如何才能在第一次加載頁面後才能獲得這項工作?第二次加載後運行函數

$(function(){ 
$('#iframe').load(function() { 
    alert("the iframe has changed."); 
}); 
}); 
+0

請詳細解釋一下。它是否需要在這裏存儲頁面加載計數? – 2012-02-21 06:35:30

回答

3

您可以簡單地用一個計數器變量來跟蹤多少次它已經被以前加載和基於計數,然後採取相應的行動。

$(function(){ 
var loadCnt = 0; 
$('#iframe').load(function() { 
    if (loadCnt > 0) { 
     alert("the iframe has changed."); 
    } 
    ++loadCnt; 
}); 
}); 
1

最簡單的方法是使用bool來跟蹤這是否是第一次加載。

$(function(){ 
    var isFirstLoad = true; 
    $('#iframe').load(function() { 
    if (!isFirstLoad) { 
     alert("the iframe has changed."); 
    } 
    isFirstLoad = false; 
    }); 
}); 
2

嘗試保存數據對象中的加載狀態。

這樣的:

$(function(){ 
    jQuery('#iframe').load(function() { 
     var iframe = $(this); 
     if(iframe.data('loaded')) { 
      alert("the iframe has changed."); 
     } 
     iframe.data('loaded', true); 
    }); 
}); 
0

簡單的方法 - 存儲計數,不要在第一次循環動作。

$(function(){ 
    var i = 0; 
    $('#iframe').load(function() { 
     if (i++) alert("the iframe has changed."); 
    }); 
}); 
相關問題