Использование javascript для прокрутки iframe вверх и вниз

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

Ответ 1

Поскольку содержимое 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 вы можете попробовать код из этой статьи.