2012-01-20 2 views
0

Я пытаюсь свернуть в iframe, встроенный в мой документ. В iframe содержится другой веб-сайт. Я посмотрел на эту тему до сих пор:Как получить доступ к iframe и повлиять на него с помощью jQuery

Can we do fade in and fade out in iframes

но методика увеличения непрозрачности не распространяется на слайд анимации и он не решает проблему изменения в CSS Iframe в. Это мой код до сих пор (И.Д. IFrame является «записная»):

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); 

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

+0

Является ли 'src' того же домена iframe, что и главная страница? –

+1

Вы хотите использовать это в том же домене или междоменном? Невозможно изменить css кросс-домен afaik. –

+0

@ T.Stone - это не тот же домен. Любые подсказки для анимации кросс-домена? – dopatraman

ответ

1

Если вы хотите сделать этот кросс-домен, , это возможно только в том случае, если вы можете управлять контентом на 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, когда прокручивать вниз, но это было бы просто слишком вероятным.

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

 Смежные вопросы

  • Нет связанных вопросов^_^