загрузить iframe и целевой контент - PullRequest
2 голосов
/ 07 июня 2011

У меня есть скрипт, который записывает iframe на страницу.я хочу нацелить ссылку внутри этого iframe, чтобы иметь функцию.проблема: после написания iframe я использую этот код:

$('#iframe_pin').load(function () {
            $(this).contents().find('a.close').click(function (event) {
                event.preventDefault();
                $('.loaded').fadeOut(fade_time).remove();
            })
        })

, и он не работает.но если я ставлю предупреждение после функции загрузки, как это

$('#iframe_pin').load(function () {alert('bla bla');
            $(this).contents().find('a.close').click(function (event) {
                event.preventDefault();
                $('.loaded').fadeOut(fade_time).remove();
            })
        })

, это работает !!

конечно, я не могу сохранить предупреждение в коде:)

кто-нибудь может мне помочь?

thnx

1 Ответ

2 голосов
/ 07 июня 2011

из комментариев у вас есть что-то вроде:

<div class="loaded">
    <iframe id="iframe_pin" src="abc.html" width="100%" height="100%">
</div>

так что все, что вам нужно сделать, это:

$("#iframe_pin").load(function() {

    // let's get the iframe source
    var iframe = $("#iframe_pin").contents();

    iframe.find("a.close").bind("click", function() {
        $(".loaded").fadeOut('slow', function() {
            // now that the FadeOut is finished, let's remove
            $(".loaded").remove();
        });
        return false; // let's prevent to jump in the click
    });
});

рабочий пример на мое собственное пространство


Пример 2 путем создания <iframe> на лету


Пример 3 путем создания <iframe> на лету, удаления их и воссоздания

...