2012-02-21 115 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."); 
    }); 
});