Документ в процессе разработки! Глава 4.13. Отображение документов в DOM и Gecko4.13.1. Отображение документов в DOM и обозревателяхDOM 2 не содержит детальной спецификации интерфейсов, связанных с отображением документов, такие спецификации появятся в DOM 3. Он определяет интерфейс AbstractView, предназначенный для установления связи между документом и его отображением, но не описывает его свойств и поведения. Интерфейс AbstractView является базовым для всех отображений документа (окон, фреймов и т. п.). Он имеет единственное свойство document, возвращающее указатель на объект Document, соответствующий отображаемому документу. Интерфейс Document, в свою очередь, может иметь свойство defaultView типа AbstractView, указывающее на окно отображения документа. Для практической реализации обозревателей такой спецификации явно недостаточно, поэтому разработчики пока пользуются собственными (нестандартными) спецификациями интерфейса для окон обозревателя. Соответствующий объект традиционно называется window. Объект window соответствует окну обозревателя. Он позволяет нам получить доступ к документу, загруженному в данное окно, к событиям, которые происходят в окне, и к различным свойствам обозревателя. Этот объект является глобальным объектом клиентской среды JavaScript, поэтому для доступа к его свойствам и методам префикс window. не нужен. Однако, для читаемости кода он может использоваться; помните, что он всегда указывает на текущее окно. Обычно, объект window создается самим обозревателем при открытии HTML-документа. Если документ не содержит фреймов, то ему соответствует единственный объект window. Если же документ содержит фреймы, то создается один объект window для главного документа и по одному объекту window для каждого из фреймов, которые являются детьми главного окна. При закрытии главного окна его дети закрываются автоматически. К сожалению, объект window реализован в Internet Explorer и Gecko по-разному. По этой причине мы решили дать для них отдельные описания. Окна Gecko описаны в этой главе, а окна Internet Explorer в следующей. 4.13.2. Окна Gecko: объект windowОбъект window в Gecko представляет собой сочетание классического окна Netscape 4.x с некоторыми возможностями окон Internet Explorer. Приведенное здесь описание основано на Gecko DOM window Reference . Полная спецификация интерфейсов Gecko еще далека от завершения, поэтому некоторые свойства помечены ниже как недокументированные.
Свойство _contentСинтаксис: window._content Изменяемое: нет Значением свойства _content является указатель на фрейм или иной объект в окне, помеченный атрибутом type="content-primary". Если такого элемента нет, то возращается указатель на само окно window. Пример: следующий фрагмент HTML-документа выведет на экран текст blur.htm: <BODY onload="alert(window._content.location.href)"> <IFRAME type="content-primary" src="blur.htm"></IFRAME> . . . Свойство appCoreСинтаксис: window.appCore Изменяемое: нет Недокументированное свойство, возвращает объект с интерфейсом nsIBrowserInstance. О "прикладном ядре" см. Application Services/Application Core . Свойство closedСинтаксис: window.closed Изменяемое: нет Значением свойства closed является true, если окно window закрыто, и false, если нет. Пример: if (!parent.closed) parent.close(); Свойство ComponentsСинтаксис: window.Components Изменяемое: нет Значением свойства Components является коллекция всех компонентов, установленных в обозревателе. Пока недокументировано. Свойство controllersСинтаксис: window.controllers Изменяемое: нет Значением свойства controllers является коллекция объектов типа XUL Controllers. Пока недокументировано. Свойство cryptoСинтаксис: window.crypto Изменяемое: нет Значением этого свойства является указатель на объект crypto, обеспечивающий шифрование данных. Пока недокументировано. Свойство defaultStatusСинтаксис: window.defaultStatus Изменяемое: да Свойство defaultStatus возвращает или устанавливает текст сообщения, выводимый по умолчанию в строке состояния, которая расположена в нижней части окна обозревателя. Не следует путать его со свойством status, которое содержит текст, выводимый в строке состояния при возникновении определенных событий. Пример: var d = new Date(); defaultStatus = "Сегодня: " + d.toLocaleDateString(); Свойство directoriesСинтаксис: window.directories Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий панели каталогов обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если панель видна, и false, если она скрыта). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.directories.visible = true; Свойство documentСинтаксис: window.document Изменяемое: нет Свойство document возвращает указатель на HTML-документ, открытый в данном окне. Пример:
Свойство framesСинтаксис: window.frames Изменяемое: нет Свойство frames возвращает коллекцию всех объектов window, определенных документом, ассоциированным с данным окном. Иными словами:
Порядок окон в коллекции определяется порядком элементов FRAME/IFRAME в тексте документа. Пример: var frm = window.parent.frames; for (var i = 0; i < frm.length; i++) alert(frm[i].name); Свойство historyСинтаксис: window.history Изменяемое: нет Значением свойства history является объект, содержащий информацию об узлах, посещенных пользователем в данном окне (история просмотра). Этот объект имеет четыре свойства, доступных только для чтения:
и следующие методы:
Пример чтения URI предыдущего документа в истории просмотра: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); alert(window.history.previous); Свойство innerHeightСинтаксис: window.innerHeight Изменяемое: да Значением свойства innerHeight является высота клиентской области окна обозревателя.
Пример: Свойство innerWidthСинтаксис: window.innerWidth Изменяемое: да Значением свойства innerWidth является ширина клиентской области окна обозревателя.
Пример: Свойство lengthСинтаксис: window.length Изменяемое: нет Это свойство возвращает количество фреймов в данном окне, т. е. количество содержащихся в нем элементов FRAME и IFRAME. Свойство locationСинтаксис: window.location Изменяемое: нет Это свойство возвращает указатель на объект location, содержащий информацию об URI документа, открытого в данном окне. Напомним, что в общем виде URI имеет вид: протокол://хост:порт/путь#закладка?запрос Объект location содержит названные фрагменты URI как свойства, доступные для чтения и записи:
Кроме того, данный объект имеет два метода:
Мы можем обращаться к объекту location и как к строке, например Свойство locationbarСинтаксис: window.locationbar Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий адресной строке обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если адресная строка видна, и false, если она скрыта). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.locationbar.visible = true; Свойство menubarСинтаксис: window.menubar Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий меню обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если меню видно, и false, если оно скрыто). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.menubar.visible = true; Свойство nameСинтаксис: window.name Изменяемое: нет Это свойство позволяет считывать и устанавливать имя окна или фрейма. Его значение задается в формате имени фрейма HTML. Во избежание двусмысленности это свойство всегда следует использовать с префиксом window. Примеры: window.name = "Window1"; // задание имени окна parent.frames[0].name = "LetfFrame"; // задание имени фрейма window.open("file.htm", "_blank"); // открытие документа в новом окне Свойство navigatorСинтаксис: window.navigator Изменяемое: нет Значением свойства navigator является объект, содержащий информацию об обозревателе. Он имеет следующие свойства, доступные только для чтения:
Кроме того, данный объект имеет следующие методы:
Свойство openerСинтаксис: window.opener Изменяемое: да Это свойство возвращает ссылку на объект window, создавший данное окно; если окно было открыто обозревателем, а не методом open, то его значение null. Мы можем присвоить этому свойству ссылку на любое окно. Свойство outerHeightСинтаксис: window.outerHeight Изменяемое: да Значением свойства outerHeight является высота окна обозревателя.
Пример: Свойство outerWidthСинтаксис: window.outerWidth Изменяемое: да Значением свойства outerWidth является ширина окна обозревателя.
Пример: Свойство pageXOffsetСинтаксис: window.pageXOffset Изменяемое: да Значением свойства pageXOffset является положение страницы по горизонтали в пикселях относительно верхнего левого угла клиентской области окна. Это свойство позволяет узнать текущее положение страницы, прокручиваемой горизонтально, перед вызовом метода scrollTo или scrollBy. Свойство pageYOffsetСинтаксис: window.pageYOffset Изменяемое: да Значением свойства pageYOffset является положение страницы по вертикали в пикселях относительно верхнего левого угла клиентской области окна. Это свойство позволяет узнать текущее положение страницы, прокручиваемой вертикально, перед вызовом метода scrollTo или scrollBy. Свойство parentСинтаксис: window.parent Изменяемое: нет Это свойство возвращает ссылку на объект window, соответствующий отцу данного окна.
Иными словами, для окна, созданного элементом FRAME,
оно возвращает ссылку на окно, содержащее соответствующий элемент FRAMESET,
а для остальных окон ссылку на самого себя (ср. свойство top). Пример: Свойство personalbarСинтаксис: window.personalbar Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий панели личных ссылок обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если она видна, и false, если она скрыта). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.personalbar.visible = true; Свойство pkcs11Синтаксис: window.pkcs11 Изменяемое: нет Это свойство возвращает ссылку на объект pkcs11, который используется для установки драйверов и других программ, использующих протокол PKCS (Public-Key Cryptography Standard) #11. Этот стандарт разработан в RSA Laboratories для управления криптографическим шифрованием передаваемых данных. Подробнее см. Спецификацию PKCS #11 и файл nsIDOMPkcs11.idl в исходных текстах Mozilla. Свойство prompterСинтаксис: window.prompter Изменяемое: нет Это свойство возвращает ссылку на объект window, созданный методом prompt или null, если такого окна нет. Свойство screenСинтаксис: window.screen Изменяемое: нет Значением свойства screen является объект, содержащий информацию об экране клиента. Он имеет следующие свойства:
Следующий пример alert("Экран: "+screen.width+" x "+screen.height+" x "+screen.colorDepth +" бита"); выведет окно сообщения с текстом вида Экран: 800 x 600 x 24 бита. Свойство screenXСинтаксис: window.screenX Изменяемое: да Значением свойства screenX является расстояние в пикселях от левой границы экрана до левой границы окна обозревателя. Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.screenX = 20; Свойство screenYСинтаксис: window.screenY Изменяемое: да Значением свойства screenY является расстояние в пикселях от верхней границы экрана до верхней границы окна обозревателя. Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.screenY = 10; Свойство scrollbarsСинтаксис: window.scrollbars Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий полосам прокрутки обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если полосы прокрутки видны, и false, если они скрыты). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.scrollbars.visible = true; Свойство scrollXСинтаксис: window.scrollX Изменяемое: нет Значением свойства scrollX является количество пикселей, на которое документ прокручен по горизонтали. Следующий пример прокручивает документ к его началу, если он был прокручен по горизонтали: if (window.scrollX) scroll(0, 0); Свойство scrollYСинтаксис: window.scrollY Изменяемое: нет Значением свойства scrollY является количество пикселей, на которое документ прокручен по вертикали. Следующий пример прокручивает документ к его началу, если он был прокручен по вертикали: if (window.scrollY) scroll(0, 0); Свойство selfСинтаксис: window.self Изменяемое: нет Это свойство возвращает ссылку на текущий объект window, т. е. на самого себя. Свойство sidebarСинтаксис: window.sidebar Изменяемое: нет Значением этого свойства является указатель на недокументированный объект с интерфейсом nsISidebar, соответствующий боковой панели обозревателя (его описание в Gecko DOM window Reference не соответствует действительности). Мы обнаружили, что этот объект лишен свойств, но имеет четыре метода:
Этот объект еще находится в стадии разработки, поэтому подробно мы опишем его позже. Пример добавления поисковой системы к боковой панели: window.sidebar.addSearchEngine("http://www.mozilla.org/projects/search/mozilla.src", "http://www.mozilla.org/projects/search/mozilla.gif", "mozilla.org", "Web"); Свойство statusСинтаксис: window.status Изменяемое: да Свойство status возвращает или устанавливает текст сообщения, выводимый в строке состояния, которая расположена в нижней части окна обозревателя. Не следует путать его со свойством defaultStatus, которое содержит текст, выводимый в строке состояния по умолчанию. Пример: <BODY onload="window.status='Страница загружена!'"> Свойство statusbarСинтаксис: window.statusbar Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий строке состояния обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если строка состояния видна, и false, если она скрыта). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.statusbar.visible = true; Свойство titleСинтаксис: window.title Изменяемое: да Это свойство возвращает или задает заголовок окна. Если заголовок окна не был ранее задан, то оно возвращает undef. Текст заголовка хранится в данном свойстве, но нигде не отображается. Пример: window.title = "Мое окно"; alert(window.title); Свойство toolbarСинтаксис: window.toolbar Изменяемое: нет Значением этого свойства является указатель на объект barProp, соответствующий панели кнопок обозревателя. Этот объект имеет единственное свойство visible, доступное для чтения и записи и указывающее на состояние панели (true, если она видна, и false, если она скрыта). Для изменения этого свойства необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); window.toolbar.visible = true; Свойство topСинтаксис: window.top Изменяемое: нет Это свойство возвращает ссылку на первое окно в иерархии объектов window, т. е. на объект, у которого свойство parent равно самому объекту. Свойство windowСинтаксис: window.window Изменяемое: нет Это свойство возвращает ссылку на текущий объект window, т. е. на самого себя (синоним свойства self). Метод alertСинтаксис: window.alert(текст?) Аргументы: текст строковое значение Метод alert создает диалоговое окно сообщения и, если текст задан, выводит его в это
окно. Например, оператор Метод backСинтаксис: window.back() Метод back эквивалентен нажатию кнопки обозревателя Back (Назад). Он возвращает нас на один шаг в истории просмотра самого верхнего окна в иерархии окон, в отличие от метода history.back(), который делает шаг назад в истории просмотра текущего окна или фрейма. Метод blurСинтаксис: window.blur() Метод blur заставляет окно потерять фокус и генерирует событие onblur. Это программный эквивалент удалению пользователем фокуса с текущего окна. Метод captureEventsСинтаксис: window.captureEvents(Event.тип) Аргументы: тип тип события Метод captureEvents включает перехват заданным окном всех событий заданного типа. Тип события задается одним из следующих ключевых слов, набранных в любом регистре:
События обычно проходят через обработчики событий окна и документа прежде, чем попасть к обработчику объекта, сгенерировавшему это событие. Данный метод перехватывает все события указанного типа и не пропускает их к следующим объектам в иерархии. Для того, чтобы восстановить обычный порядок распространения событий, необходимо вызывать метод releaseEvents. Пример перехвата всех щелчков мышью в окне: <HTML> <HEAD> <SCRIPT> function reg() { window.captureEvents(Event.CLICK); window.onclick = new Function("alert('hit')"); } </SCRIPT> </HEAD> <BODY onload="reg()"> <BUTTON>Test</BUTTON> </BODY> </HTML> Мы можем задать в вызове этого метода сразу несколько типов событий, разделяя их символом "|", например: window.captureEvents(Event.KEYPRESS | Event.KEYDOWN | Event.KEYUP); Метод clearIntervalСинтаксис: window.clearInterval(таймер) Аргументы: таймер целое значение Этот метод останавливает таймер, созданный методом setInterval. См. подробности и пример в описании этого метода.
Метод clearTimeoutСинтаксис: window.clearTimeout(таймер) Аргументы: таймер целое значение Этот метод останавливает таймер, созданный методом setTimeout. См. подробности и пример в описании этого метода.
Метод closeСинтаксис: window.close() Метод close закрывает заданное окно обозревателя. Если окно было создано программно, то оно просто закрывается. Если же окно было создано обозревателем, то перед его закрытием выводится диалоговое окно, запрашивающее подтверждение действия. Если, однако, в истории просмотра окна только один документ (текущий), то окно закрывается без запроса подтверждения. Такое решение было принято для поддержки временных окон, которые открывают другие окна, а затем закрываются. Для того, чтобы закрывать любое окно без подтверждения, необходима привилегия UniversalBrowserWrite. Пример: netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); self.close(); В обработчиках событий нужно полностью указывать вызов window.close, иначе будет вызван неявно подразумеваемый метод document.close. Метод confirmСинтаксис: window.confirm(текст?) Аргументы: текст строковое значение Результат: логическое значение Метод confirm создает диалоговое окно подтверждения и, если текст задан, выводит его в это
окно. Он возвращает true, если пользователь нажал кнопку OK, и false, если
пользователь нажал кнопку Cancel. Например, оператор Метод disableExternalCaptureСинтаксис: window.disableExternalCapture() Этот метод запрещает перехват внешних событий, разрешенных методом enableExternalCapture. См. подробности в описании этого метода.
Метод dumpСинтаксис: window.dump(текст) Аргументы: текст строковое значение Утверждается, что этот метод выводит заданный текст в консоль JavaScript обозревателя и предназначен для вывода отладочных сообщений. Мне этого добиться не удалось: метод выполнялся без ошибки, но в консоль не выводил ничего.
Метод enableExternalCaptureСинтаксис: window.enableExternalCapture() Этот метод используется в окнах, содержащих фреймы, для того, чтобы разрешить данному окну перехват событий, сгенерированных фреймами, в которые загружены документы с других серверов. Для перехвата внешних событий какого-либо типа вам нужно получить привилегию UniversalBrowserWrite, вызвать этот метод, а затем вызвать метод captureEvents, задав ему тип перехватываемых событий. Пример:
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); enableExternalCapture(); captureEvents(Event.CLICK); Метод escapeСинтаксис: window.escape(строка) Аргументы: строка любое строковое выражение Результат: новый строковый объект Метод escape преобразует входную строку в шестнадцатеричную кодировку.
При этом все символы, не являющиеся символами базовой латиницы, заменяются на их шестнадцатеричные
escape-коды %xx в текущей кодировке операционной системы. Например, оператор Обратите внимание, что этот метод перекрывает метод escape глобального объекта JavaScript, который кодирует символы шестнадцатеричными кодами Unicode. Метод focusСинтаксис: window.focus() Метод focus заставляет окно получить фокус и генерирует событие onfocus. Учтите, что окно не может получить фокус, пока документ не будет полностью в него загружен. Метод forwardСинтаксис: window.forward() Метод forward эквивалентен нажатию кнопки обозревателя Forward (Вперед). Он переводит нас на один шаг вперед в истории просмотра самого верхнего окна в иерархии окон, в отличие от метода history.forward(), который делает шаг вперед в истории просмотра текущего окна или фрейма. Метод GetAttentionСинтаксис: window.GetAttention() Метод GetAttention вызвает мигание иконки обозревателя до тех пор, пока он не будет активизирован. В Windows и Linux мигает иконка в панели задач, в MacOS — в правом верхнем углу системной панели. Пример: setTimeout("window.GetAttention()", 3000); Метод getSelectionСинтаксис: window.getSelection() Этот метод возвращает указатель на недокументированный объект с интерфейсом nsISelection, соответствующий выделенному пользователем фрагменту документа. Если выбранный фрагмент является текстом, то возвращаемый объект автоматически преобразуется в строку. Пример: alert(window.getSelection()); Метод homeСинтаксис: window.home() Метод home загружает в окно домашнюю страницу пользователя, указанную в настройках обозревателя. Его вызов эквивалентен нажатию кнопки обозревателя Home (Домой). Метод moveByСинтаксис: window.moveBy(x, y) Аргументы: x, y целые значения Этот метод перемещает окно на x пикселей по горизонтали и y пикселей по вертикали.
Пример: Метод moveToСинтаксис: window.moveTo(x, y) Аргументы: x, y целые значения Этот метод перемещает окно в положение, при котором его верхний левый угол отстоит от левого верхнего угла экрана на x пикселей по горизонтали и y пикселей по вертикали. Следующий пример задает размеры окна и центрирует его на экране: var w = 200, h = 200; resizeTo(w, h); moveTo((screen.width-w)/2, (screen.height-h)/2); Метод openСинтаксис: window.open(uri, имя [, свойства?]) Аргументы: uri, имя, свойства строковые значения Результат: объект window Метод open создает новое окно обозревателя и возвращает ссылку на него. Аргумент uri задает URI открываемого документа, аргумент имя имя фрейма для нового окна, которое может использоваться в атрибуте target элементов A и FORM. Необязательный аргумент свойства представляет собой список свойств нового окна, разделенных запятыми. В нем мы можем задать следующие свойства:
Свойствам width, height, screenX и screenY должны быть присвоены числовые значения. Остальные свойства являются логическими; им можно присваивать значения yes или no (или, что то же самое, 1 или 0). Включение в список только имени свойства равносильно присвоению ему значения yes. Пример: var newWin = window.open("test.htm", "win2", "toolbar,status=no,width=200,height=200"); Метод printСинтаксис: window.print() Метод print выводит содержимое данного окна или фрейма на печать. Метод promptСинтаксис: window.prompt([текст?], [значение?]) Аргументы: текст, значение строковые значения Результат: строковое или целое значение Метод prompt создает диалоговое окно, состоящее из строки сообщения и поля ввода.
Если текст задан, он выводится в качестве сообщения. Значение задает начальное
значение поля ввода;если оно опущено, то равно undefined, и поле ввода пусто.
Например, оператор Если пользователь нажмет кнопку Cancel, то этот метод вернет значение null; если будет нажата кнопка OK, то метод вернет строковое или целое значение, введенное пользователем в поле ввода. Метод releaseEventsСинтаксис: window.releaseEvents(Event.тип) Аргументы: тип тип события Метод releaseEvents отменяет перехват событий заданного типа, включенный методом captureEvents. См. подробности в описании этого метода. Пример: window.releaseEvents(Event.KEYPRESS | Event.KEYDOWN | Event.KEYUP); Метод resizeByСинтаксис: window.resizeBy(x, y) Аргументы: x, y целые значения Этот метод изменяет размеры окна на x пикселей по горизонтали и y пикселей по вертикали.
Пример: Метод resizeToСинтаксис: window.resizeTo(x, y) Аргументы: x, y целые значения Этот метод задает новые размеры окна, равными x пикселей по горизонтали и y пикселей по вертикали. Пример см. в описании метода moveTo. Метод routeEventСинтаксис: window.routeEvent(evt) Аргументы: evt объект типа Event Результат: логическое значение Этот метод пропускает перехваченное событие evt вниз по иерархии объектов. При этом событие передается следующему в иерархии за window объекту, у которого включен перехват данного типа событий. Подробно о механизме перехвата событий см. п. 4.11.1.2. Метод scrollСинтаксис: window.scroll(x, y) Аргументы: x, y целые значения Это устаревший синоним метода scrollTo. Метод scrollByСинтаксис: window.scrollBy(x, y) Аргументы: x, y целые значения Этот метод прокручивает документ в окне на x пикселей по горизонтали и y пикселей по вертикали относительно
текущей позиции документа в окне. Прокрутка производится только в том случае, когда новая позиция в окне не видна.
Пример: Метод scrollByLinesСинтаксис: window.scrollByLines(n) Аргументы: n целое значение Этот метод прокручивает документ в окне на n строк относительно текущей позиции
документа в окне. Прокрутка производится только в том случае, когда новая позиция в окне не видна.
Пример: Метод scrollByPagesСинтаксис: window.scrollByPages(n) Аргументы: n целое значение Этот метод прокручивает документ в окне на n страниц относительно текущей позиции
документа в окне. Прокрутка производится только в том случае, когда новая позиция в окне не видна.
Пример: Метод scrollToСинтаксис: window.scrollTo(x, y) Аргументы: x, y целые значения Этот метод прокручивает документ в окне так, чтобы верхний левый угол окна отстоял от начала документа
на x пикселей по горизонтали и y пикселей по вертикали. Прокрутка производится только
в том случае, когда новая позиция в окне не видна. Пример: Метод setCursorСинтаксис: window.setCursor(форма) Аргументы: форма строковое значение Этот метод изменяет форму экранного курсора. Аргумент форма может принимать следующие значения:
Пример: Метод setIntervalСинтаксис: window.setInterval(выражение, интервал) window.setInterval(функция, интервал, арг1?, , аргN?) Аргументы: выражение строковое значение функция имя функции арг1, , аргN значения аргументов функции интервал числовое значение Результат: целое значение Этот метод запускает выполнение определенного действия каждый раз, когда истечет интервал, заданный в миллисекундах. Действие задается либо строкой, содержащей выражение JavaScript, либо именем функции с необязательным набором аргументов. Метод возвращает целое значение (идентификатор таймера), которое может быть передано методу clearInterval для остановки данного таймера, т. е. прекращения периодического выполнения данного действия. Заданное действие будет выполняться до вызова clearInterval или до закрытия данного окна.
Следующий пример использует метод setInterval для вывода текущего времени в строке состояния обозревателя каждую секунду: <HTML> <HEAD> <SCRIPT> var timerID = null; function stopclock() { if (timerID) clearInterval(timerID); timerID = null; } function startclock() { stopclock(); timerID = setInterval(showtime, 1000); // или setInterval("showtime()", 1000) } function showtime() { window.status = (new Date()).toLocaleTimeString(); } </SCRIPT> </HEAD> <BODY onload="startclock()"> </BODY> </HTML> Метод setTimeoutСинтаксис: window.setTimeout(выражение, интервал) window.setTimeout(функция, интервал, арг1?, , аргN?) Аргументы: выражение строковое значение функция имя функции арг1, , аргN значения аргументов функции интервал числовое значение Результат: целое значение Этот метод вызывает разовое выполнение определенного действия, когда истечет интервал, заданный в миллисекундах. Действие задается либо строкой, содержащей выражение JavaScript, либо именем функции с необязательным набором аргументов. Метод возвращает целое значение (идентификатор таймера), которое может быть передано методу clearTimeout для остановки данного таймера, т. е. для отмены выполнения заданного действия. Действие будет выполнено по истечении заданного интервала времени, если до этого не будет вызван метод clearTimeout или закрыто данное окно.
Следующий пример использует метод setTimeout для вывода текущего времени в строке состояния обозревателя каждую секунду: <HTML> <HEAD> <SCRIPT> var timerID = null; function stopclock() { if (timerID) clearInterval(timerID); timerID = null; } function startclock() { stopclock(); showtime(); } function showtime() { window.status = (new Date()).toLocaleTimeString(); timerID = setTimeout(showtime, 1000); // или setTimeout("showtime()", 1000) } </SCRIPT> </HEAD> <BODY onload="startclock()"> </BODY> </HTML> Метод sizeToContentСинтаксис: window.sizeToContent() Метод sizeToContent изменяет размеры окна, так чтобы они соответствовали его содержимому. Метод stopСинтаксис: window.stop() Метод stop прекращает загрузку текущего документа. Его вызов равносилен нажатию кнопки Stop (Остановить) на панели обозревателя. Метод unescapeСинтаксис: window.unescape(строка) Аргументы: строка любое строковое выражение Результат: новый строковый объект Метод unescape преобразует строку из шестнадцатеричной кодировки
текстовую. Формат исходной строки описан в методе escape.
Например, в русской версии Windows оператор Обратите внимание, что этот метод перекрывает метод unescape глобального объекта JavaScript, который декодирует шестнадцатеричные коды Unicode. Метод updateCommandsСинтаксис: window.updateCommands() Этот метод пока не документирован. Нестандартные события окна
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||