Как можно запретить Safari прокручивать переполнение: скрытый iframe? - PullRequest
2 голосов
/ 18 марта 2010

В Safari вы можете отключить большую часть прокрутки iframe, установив style = "overflow: hidden;" на фрейме. Однако, если вы щелкнете в iframe и переместите мышь, содержимое все равно будет прокручиваться.

Пример:

<html>
  <body>
    <iframe style="width: 100%; height:100px; overflow: hidden;" scrolling="no" src="scrollcontent.html">
    </iframe>
  </body>
</html>

scrollcontent.html:

<html scroll="no" style="overflow:hidden;">
  <body scroll="no" style="overflow:hidden;">
    <div style="background-color: green; height:100px;">A</div>
    <div style="background-color: red; height:100px;">B</div>
  </body>
</html>

В этом примере в iframe должна отображаться только зеленая область, и красная область должна быть недоступна. Это в основном верно: полоса прокрутки отсутствует, колесо мыши ничего не делает и клавиши со стрелками тоже не делают.

Однако нажмите и перетащите все еще прокручивает представление. Это особенно заметно при выделении текста.

Кто-нибудь знает какой-нибудь трюк, чтобы остановить Safari от этого?

Ответы [ 2 ]

2 голосов
/ 15 июня 2010

В худшем случае я бы попытался загрузить контент с помощью jquery load () а затем вы заверните все с <div style"overflow:hidden">your content...</div>

2 голосов
/ 18 марта 2010

Вы можете добавить window.onscroll метод, который делает window.scrollTo(0, 0);. Это не красиво, но должно работать.

...