asp.net Панель прокрутки IFrame выдвигается вверх. , - PullRequest
2 голосов
/ 06 ноября 2008

Вот хитрый. .

У меня есть веб-страница (называемая PageA), которая имеет заголовок, а затем просто включает в себя iframe. Позволяет вызывать страницу внутри страницы iframe. На странице B просто есть куча миниатюр, но их много, поэтому вам нужно прокрутить страницу PageA, чтобы просмотреть их все.

Когда я прокручиваю вниз до нижней части страницыB и нажимаю на миниатюру, это выглядит так, как будто она выводит меня на пустую страницу. На самом деле происходит вывод изображения на экран, но поскольку страница, представляющая собой изображение, значительно короче по высоте, полоса прокрутки остается в том же месте и не подстраивается под него. Для просмотра картинки мне нужно прокрутить страницу вверх.

В любом случае, когда я нажимаю на ссылку на странице внутри фрейма, полоса прокрутки внешних страниц возвращается наверх

Thks, ак

Ответы [ 3 ]

6 голосов
/ 08 марта 2009

@ mek после попытки различными методами, лучшее решение, которое я нашел, это:

На внешней странице определите функцию скроллера:

<script type="text/javascript">
  function gotop() {
    scroll(0,0);
  } 
</script>

Затем, когда вы определяете iframe, установите обработчик загрузки (который запускается каждый раз, когда источник iframe загружается, т.е. каждый раз, когда вы переходите на новую страницу в iframe)

<iframe id="myframe" 
    onload="try { gotop() } catch (e) {}" 
    src="http://yourframesource"
    width="100%" height="999"
    scrolling="auto" marginwidth="0" marginheight="0" 
    frameborder="0" vspace="0" hspace="0" >
</iframe>

Хорошая особенность этого подхода заключается в том, что вам не нужно вносить какие-либо изменения в страницы, включенные в iframe (и содержимое iframe может успешно находиться в другом домене - никаких проблем с межсайтовым скриптингом).

1 голос
/ 06 ноября 2008

Javascript - ваш лучший выбор. Вы можете использовать метод scroll () , чтобы прокрутить назад до верхней части вашего IFRAME. Добавьте обработчик javascript в загрузку тела, чтобы при каждом нажатии на миниатюру вызывать функцию, вызывающую scroll () для прокрутки вверх.

0 голосов
/ 14 июня 2009

Я потратил значительное количество времени, пытаясь понять, как прокрутить верхнюю часть iframe из кода PHP, который я вызывал (из родительской страницы ASP.NET). Я никогда не думал, что смогу прокрутить вверх, используя тот же javascript, но в событии загрузки iframe. Спасибо!

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