Запустить функцию после второй загрузки - PullRequest
1 голос
/ 21 февраля 2012

Этот скрипт предупреждает об изменении содержимого iframe.Но, к сожалению, он также предупреждает, когда загружается первая страница.Так как я могу получить эту работу только после загрузки первой страницы?

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

Ответы [ 4 ]

3 голосов
/ 21 февраля 2012

Вы можете просто использовать переменную счетчика, чтобы отслеживать, сколько раз она была загружена ранее, и затем действовать соответствующим образом на основании количества.

$(function(){
var loadCnt = 0;
$('#iframe').load(function() {
    if (loadCnt > 0) {
         alert("the iframe has changed.");
    }
    ++loadCnt;
});
});
2 голосов
/ 21 февраля 2012

попытайтесь сохранить загруженное состояние в объекте данных.

как это:

$(function(){
    jQuery('#iframe').load(function() {
        var iframe = $(this);
        if(iframe.data('loaded')) {
            alert("the iframe has changed.");
        }
        iframe.data('loaded', true);
    });
});
1 голос
/ 21 февраля 2012

Самый простой способ - использовать bool для отслеживания того, является ли это первая загрузка.

$(function(){
  var isFirstLoad = true;
  $('#iframe').load(function() {
    if (!isFirstLoad) {
      alert("the iframe has changed.");
    }
    isFirstLoad = false;
  });
});
0 голосов
/ 21 февраля 2012

Простой способ - сохранить счетчик, не выполнять действия на первой итерации.

$(function(){
    var i = 0;
    $('#iframe').load(function() {
        if (i++) alert("the iframe has changed.");
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...