как получить доступ к iframe и повлиять на него с помощью jQuery - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь сдвинуть вниз iframe, встроенный в мой документ.В iframe есть другой сайт.До сих пор я смотрел на эту тему:

Можем ли мы постепенно увеличивать и уменьшать яркость в кадрах iframe

, но метод увеличения непрозрачности не применяется к анимации слайдовИ это не решает проблему изменения CSS-кода iframe.Пока это мой код (идентификатор iframe - "sketchpad"):

var skpad = document.getElementById('sketchpad').contentDocument;
    var skpad$ = $(skpad);
    $('.sketchBtn').bind('click',
        function() {
            alert(skpad$);
            skpad$.slideDown(300);
        }
    );

Я также пробовал это:

skpad$.css({
            display:'block'
            })
            .animate({
            opacity:'1.0',              
            },300);

Нижняя часть не скользит вниз, ноЯ просто пытался понять, сработает ли это.Это не так.Есть идеи?

1 Ответ

1 голос
/ 20 января 2012

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

Javascript имеет политику Same-Origin, в которой javascript на внешней странице не может получить доступ к contentWindow или DOM (или глобальному состоянию) страницы iframe, если он не разделяет Same-Origin. То же происхождение в этом случае означает, что хост + домен совпадает, поэтому, например, www.domain.com отличается от static.domain.com. То же происхождение также означает, что протоколы совпадают.

Если случайно вы управляете содержимым iframe, вы можете просто добавить slideDown к нему в DOM Ready. Если вы хотите по-настоящему придумать, вы можете использовать window.postMessage, чтобы сигнализировать дочернему Iframe, когда прокручивать страницу вниз, но это может быть просто излишним.

Лучше всего возиться с анимацией самого тега <iframe> и оставить внутреннее содержимое в покое. Возможно, есть трек, который вы могли бы сделать, когда <div> того же цвета, что и фон родительской страницы, прокручивается поверх <iframe>, эффективно имитирующего scrollDown?

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