Прокрутка iframe с родительской страницы
Я создал две веб-страницы, одна содержит другую в iframe. Я хотел бы прокрутить встроенную страницу с родительской страницы через javascript.
То, что я пробовал до сих пор:
-
$('#go').scrollTop(200);
-
$('.footer').scrollTop(200);
-
var frame = document.getElementById('go');
frame.contentWindow.scrollTo(0, 200);
Ни один из них не работал
родительская веб-страница html:
<html>
<body>
.
.
.
<div class="footer">
<iframe id="go" src="go.html"></iframe>
</div>
</body>
</html>
Оба этих веб-страницы являются локальными файлами на компьютере, и я использую Google chrome с флагом "--allow-file-access-from-files".
Как прокрутить iframe до определенной позиции?
Ответы
Ответ 1
Это работает:
document.getElementById("go").contentWindow.setTimeout("this.scrollTo(0, 200);",1);
Update. Doh. Работает только в IE, но я думаю, что там что-то есть.
Обновление 2 Это работает повсеместно:
document.getElementById("go").onload = function () { this.contentWindow.scrollTo(0, 200) };
Вам нужно подождать, пока содержимое iframe закончит загрузку для scrollTo для работы.
Ответ 2
Вы можете использовать window.postMessage
, чтобы отправить сообщение из родительского фрейма в iframe, указав ему прокрутку. Это приведет к настройке postMessage
script в родительском фрейме и receiveMessage
script в iframe. Это код receiveMessage
, который фактически прокручивает iframe.
Я успешно использовал этот polyfill: http://benalman.com/projects/jquery-postmessage-plugin/