Управление окнами Web-обозревателем
Оглавление
Управление окнами Web-обозревателем
Страница 2
Страница 3
Страница 4
Страница 5
Страница 4 из 5
Можно ли из сценария принудительно активизировать какое-либо окно
Web-обозревателя?
Решение
Использовать не принимающий параметров метод focus объекта window.
Нар од замечает
Объект window также поддерживает не принимающий параметров метод blur,
деактивирующий окно. Правда, предугадать, какое окно в этом случае будет
активизировано, невозможно.
Пример
someWindow.focus();
Это выражение активизирует программно открытое окно someWindow.
otherWindow.blur();
А это выражение деактивирует программно открытое окно otherwindow и делает
активным другое окно.
Как узнать положение полос прокрутки?
Проблема
Мне нужно узнать положение полос прокрутки в окне Web-обозревателя. Это
возможно?
Решение
Самый удобный способ— это воспользоваться свойствами scrollLeft и scro11Top
объекта body, вложенного в объект document. Первое свойство возвращает положение
горизонтальной полосы прокрутки в пикселах, второе — вертикальной.
Народ замечает
Opera и Firefox поддерживают также свойства pagexoffset и pageYOf f set
объекта window. Первое свойство возвращает положение горизонтально полосы
прокрутки также в пикселах, второе — вертикальной.
Пример
var posHScroll = document.body.scrollLeft,-var posVScroll =
document.body.scroiiTop;
Как выполнить прокрутку содержимого окна?
Проблема
Мне нужно прокрутить открытую в окне Web-обозревателя страницу так, чтобы
показать посетителю какой-то ее элемент. Можно ли это сделать, и если можно, то
как?
Решение 1
Использовать перечисленные далее методы объекта window.
scrollBy (<Смещение по горизонтали>, <Смещение по
вертикали>) — прокручивает содержимое окна на заданное количество пикселов
вправо и вниз. Для прокрутки влево и вверх нужно задать отрицательные значения
соответствующих параметров.
scrollTo(<координата X>, <координата Y>) —
прокручивает содержимое окна в точку с заданными координатами.
Пример
Вот HTML-код небольшой Web-странички, прокручивающей после открытия свое
содержимое на 200 пикселов по вертикали:
<HTML> <HEAD>
<TITLE>Прокрутка</TITLE> </HEAD> <BODY>
// Разместите здесь какой-либо большой текст в тегах <Р> <SCRIPT
TYPE="text/javascript">
window.scrollBy(0, 200); </SCRIPT> </BODY> </HTML>
Решение 2
Все экземпляры объектов, представляющие элементы страницы, поддерживают метод
scroiiintoview, формат вызова которого таков:
<Элемент страницы>.scrollIntoView([<Край окна, у которого должен
находиться элемент страницы>]);
Единственный необязательный параметр этого метода задает край окна, у
которого после прокрутки должен находиться заданный элемент страницы. Если
задано значение true, элемент страницы появится у верхнего края окна; такой же
эффект даст пропуск этого параметра. Значение false прокручивает окно так, что
элемент страницы будет находиться у нижнего края окна.
Народ предупреждает!
Этот способ прокрутки содержимого окна не работает в Opera (хотя метод
scroiiintoview, похоже, там поддерживается). Автору не удалось установить,
почему так происходит.
« Пред. - След. »