Событие jQuery при загрузке новой страницы в iFrame - PullRequest
2 голосов
/ 15 декабря 2010

Я пытаюсь настроить событие для родителя, которое запускается, когда iframe загружает новую страницу (вероятно, при переходе пользователя по ссылке).

HTML:

<iframe name="posts" id="posts" src="edit.php">

JS:

$(document).ready(function() {
    $('iframe#posts').live('load', function() {
        console.log('live');
    });
});

Проблема в том, что оператор console.log() никогда не запускается.Как мне добиться того, что я пытаюсь сделать?

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

Самый простой способ решить вашу проблему - это создать свой iframe с помощью jQuery.

$(document).ready(function() {
    $("<iframe />").attr({
        id: "posts",
        src: "edit.php"
    }).load(function() {
        console.log('live');
    }).appendTo("body");

Этот вопрос был задан здесь раньше .

2 голосов
/ 05 апреля 2011

Я использую

<iframe onload="hide_html_player_contents_loading();" ...../>
1 голос
/ 15 декабря 2010

Мое лучшее предположение состоит в том, что событие «load» в iframe сработало до события «ready» в документе, что означает, что обработчик установлен слишком поздно.Возможно, вам придется использовать старомодный onload в самом элементе iframe.

Или вы можете просто поместить фрагмент $('iframe#posts').live() в сценарий верхнего уровня, а не в обработчик готовности.

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