第二次加载后运行功能

时间:2012-02-21 06:29:02

标签: javascript jquery iframe

此脚本会在iframe内容发生更改时发出警报。但不幸的是,当第一页加载时它会发出警报。那么如何才能在首页加载后才能完成这项工作?

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

4 个答案:

答案 0 :(得分:3)

您可以简单地使用计数器变量来跟踪之前加载的次数,然后根据计数采取相应的行动。

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

答案 1 :(得分:2)

尝试将加载的状态保存在数据对象中。

像这样:

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

答案 2 :(得分:1)

最简单的方法是使用bool来跟踪这是否是第一次加载。

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

答案 3 :(得分:0)

简单方法 - 存储计数,不要在第一次迭代时采取行动。

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