- •14. Динамический html и Объектная Модель Документа
- •Программный доступ к элементам
- •Объект window
- •Объект navigator
- •Объект location
- •Объект history
- •Объект screen
- •Коллекция frames
- •Некоторые методы объекта window
- •Объект document
- •Коллекция forms
- •Свойство cookie
- •Поиск элемента по id
- •Поиск групп элементов
- •Программное создание, удаление и модификация html-элементов
- •Вопросы
Объект screen
Объект screen содержит информацию о мониторе: ширина (width), высота (height), глубина цвета (colorDepth), выраженная как число бит на пиксель, и другие. Если у пользователя несколько мониторов, отображаются данные того, в котором открыт браузер (или его большая часть).
Коллекция frames
Коллекция frames содержит объекты, соответствующие элементам frame и iframe. Каждый такой объект содержит свой объект window.
Некоторые методы объекта window
Метод alert (предупреждение) открывает модальное окно сообщения с введенным в качестве аргумента текстом и единственной кнопкой.
window.alert('Всем привет');
Метод confirm (подтверждение) открывает диалоговое окно с сообщением и кнопками "ОК" и "Отмена". Метод возвращает true, если пользователь нажал "ОК" и false в противном случае.
if (window.confirm('Хотите продолжить?') == true)
RunMyScript();
Метод prompt (подсказка) открывает диалоговое окно с полем однострочного ввода и двумя кнопками. Метод возвращает введенную строку, если пользователь нажал "ОК" или null, если "Отмена".
var name = window.prompt('Ваше имя:', 'не помню');
if (name != null)
document.write("Добро пожаловать, " + name);
else
document.write("Добро пожаловать, неизвестный");
Метод setTimeout планирует выполнение определенной разработчиком функции через указанное время в миллисекундах и возвращает целочисленный идентификатор процесса, который может быть использован для отмены действия при помощи метода clearTimeout.
function MyAction() {
alert("Приступайте к действиям");
}
var iTimer = window.setTimeout(MyAction, 10000);
// обратите внимание на отсутствие скобок после MyAction
// вариант: window.setTimeout("MyAction()", 10000);
function StopAlert() {
window.clearTimeout(iTimer);
}
В этом примере через 10 секунд (после открытия окна) будет запущена функция MyAction и выдано предупреждение, если только в результате каких-либо действий пользователя не будет вызвана функция StopAlert, отменяющая выполнение процесса.
Метод setInterval выполняет указанное действие многократно через указанный промежуток времени в миллисекундах. Синтаксис метода аналогичен setTimeout. Повторы могут быть остановлены методом clearInterval.
<div id="clock">
</div>
<button type="button" onclick="StopClock()">
Остановить часы</button>
<script type="text/javascript">
function MyClock() {
var d = new Date(); //текущие дата и время компьютера пользователя
document.getElementById('clock').innerHTML = d.toTimeString();
}
var iClock = window.setInterval(MyClock, 1000);
function StopClock() {
window.clearInterval(iClock);
}
</script>
В этом примере функция MyClock выполняется каждую секунду. При выполнении функция получает системные дату и время локального компьютера (через объект Date) и отображает время в блоке с id="clock". Часы могут быть остановлены нажатием кнопки, которая вызывает функцию StopClock.
Метод open открывает новое окно браузера и загружает в него документ из указанного адреса.
var oNewWindow = window.open(sURL, sName, sFeatures, bReplace);
Все аргументы метода необязательны.
sURL – адрес (URL) загружаемого документа. Если опущен, то about:blank
sName – имя окна, которое может использоваться в атрибуте target (цель) элементов form и гиперссылки.
sFeatures – строка, в которой через запятую перечисляются пары свойство=значение открываемого окна
height – высота окна в пикселях. В Internet Explorer 8.0 не может быть меньше 150.
width - ширина окна в пикселях. В Internet Explorer 8.0 не может быть меньше 250.
left – отступ левого края окна от левого края экрана в пикселях.
top – отступ верхнего края окна от верхнего края экрана в пикселях. Internet Explorer 8.0 не позволяет задавать отрицательные значения отступов и значения, превышающие размер экрана (открываемое окно должно быть видимым на экране).
location (yes/no) – задает, показывать ли в окне строку адреса.
status (yes/no) – задает, показывать ли в окне строку состояния. В Internet Explorer начиная с версии 7.0 установки location и status не имеют эффекта. Из соображений безопасности строки адреса и состояния должны быть видны.
resizable (yes/no) – разрешает или запрещает изменение размеров окна пользователем. Запрет допускается не во всех браузерах.
scrollbars (yes/no) – разрешает или запрещает полосы прокрутки, когда размер содержимого превышает размер окна. Если свойство опущено или задано no, полосы прокрутки отсутствуют.
menubar (yes/no), toolbar (yes/no) – разрешает или запрещает отображение строки меню и инструментов. Если опущены, то запрещены.
bReplace (true/false) – определяет, добавлять адрес в историю браузера (false) или замещать текущий документ (true). Действует, только если документ открывается в текущем окне (параметр sName имеет значение _self, _parent или _top).
Возвращаемое значение (oNewWindow) является ссылкой на открываемое окно (объект window) и открывает доступ к его свойствам и методам.
Окно, открытое методом window.open имеет свойство opener, являющееся ссылкой на объект window, в контексте которого был выполнен метод open.
Метод close закрывает окно. Если окно не было открыто методом open, то выдается предупреждение о том, что сценарий пытается закрыть текущее окно.
