Использование JavaScript для прокрутки iframe вверх и вниз - PullRequest
10 голосов
/ 01 ноября 2009

Можно ли прокрутить окно iframe из родительского окна, используя клавиши или javascript? Содержимое iframe принадлежит другому домену, отличному от родительского окна.

1 Ответ

20 голосов
/ 01 ноября 2009

Поскольку содержимое iframe принадлежит другому домену, вы не сможете изменить его DOM по соображениям безопасности.

Хотя вы можете прокрутить его с помощью клавиш со стрелками, когда он у вас активирован. По крайней мере, у меня это работает в Chrome и Firefox.

Если вы хотите иметь возможность прокручивать его из javascript, я бы предложил следующий подход. (предполагается, что вы знаете ширину и высоту содержимого iframe и свой iframe). По сути, пусть div в вашей DOM позаботится о прокрутке.

<a href="#" id="scroll">Scroll to (400,400)!</a><br />

<div id="google" style="width: 300px; height: 200px; overflow: auto;">
   <iframe width="800" height="600" src="http://www.google.com/" scrolling="no">
   </iframe>
</div>

<script type="text/javascript">
$("#scroll").click(function()
{
  $("#google").scrollTop(400).scrollLeft(400);
  return false;
});
</script>

Для более плавной прокрутки div вы можете попробовать код из этой статьи .

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