Керування інформацією про браузер
Керування інформацією про параметри монітора
Базовый уровень функциональности документа обеспечивается объектами, поддерживаемыми даже самыми древними браузерами (естественно, и современными тоже). Эта иерархия объектов представляет объектную модель документов уровня 0 (Document Object Model level0 - DOM0).
В клиентской части JavaScript основным объектом является Window, ссылающийся на текущее окно браузера. Остальные объекты, иерархия которых здесь представлена ( * ), являются свойствами корневого объекта Window.
· Объект Screen позволяет узнать (но, разумеется, не изменить) разрешение клиентского экрана и глубину цвета. Определив разрешение экрана, можно предусмотреть разные варианты компоновки страницы, устанавливать размеры и положение новых окон, открывающихся из сценария. Методы для этого объекта не определены, но определен ряд свойств. Наиболее полезные:
o width - ширина экрана в пикселах;
o height - высота экрана в пикселах;
o availWidth - доступная ширина экрана в пикселах;
o availHeight - доступная высота экрана в пикселах.
· Объект Navigator дает информацию о версии браузера. В принципе, это можно использовать при создании "браузеронезависимого" сценария. Однако, зачастую более удобен другой подход, описанный в разделе "Определение возможностей клиентского JavaScript".
· Объект Location дает доступ к URL документа, отображаемого в окне браузера. Позволяет определить полный URL, а также его части: протокол, доменное имя и т.д. В отличие от двух предыдущих объектов, его свойства доступны не только для чтения, но и для изменения. То есть, в зависимости от выполнения условий, определенных в сценарии, мы можем загрузить нужный документ как в текущее окно или его фрейм, так и в любое из окон, открытых из сценария. Этот объект имеет и два метода:
o reload() перезагружает указанный в качестве аргумента документ;
o replace() загружает указанный документ, который замещает текущий в списке истории просмотра.
· Объект History имеет единственное свойство length (количество просмотренных в данном сеансе документов), и три метода, позволяющих перемещаться по истории просмотра:
o back() - на один шаг назад по истории просмотра;
o forward() - на один шаг вперед по истории просмотра;
o go(n) - на n шагов по истории просмотра (если n >0, то вперед, если n <0, то назад).
· Объект Document, его свойства и методы предоставляют наиболее богатые возможности для разработчика. Приведенная здесь схема иерархии объектов включает только основные свойства этого объекта, определенные в базовой объектной модели документа (Document Object Model Level 0 - DOM0). На поддержку этих свойств можно смело рассчитывать при использовании любого относительно современного браузера.
· Массив frames[] дает доступ к документам, загруженным в фреймы.
Обмежене керування історією перегляду сторінок
Window.history
Позволяет переходить на предыдущие и следующие страницы в history браузера, программным образом эмулируя кнопки Back/Forward.
Объект window.history предоставляет следующие методы для перехода по истории посещений:
Метод | Описание |
history.back() | Перейти на предыдущую страницу, как если бы посетитель нажал на кнопку браузера "Назад". Эквивалентно history.go(-1). Если предыдущей страницы нет, то вызов этого метода ничего не даст, но и не приведет к генерации исключения. |
history.forward() | Перейти на следующую страницу, как если бы посетитель нажал на кнопку браузера "Вперед". Эквивалентно history.go(1). Вызов этого метода на последней странице не приведет к какому-либо результату и не сгенерирует исключение. |
history.go(delta) | Перейти на страницу истории посещений, находящуюся на позиции delta относительно текущей. Например, history.go(-1) - предыдущая страница, history.go(1) - следующая. Если delta лежит за границами истории посещений (например -1 для первой страницы), то метод ничего не сделает и не вызовет исключение. |
Также есть свойство length, которое содержит общую длину истории посещений.
Объект history перемещаться на страницу из истории посещений, но не позволяет читать URL истории, оставаясь на текущей страницы, из соображений безопасности и приватности.
Підтримка роботи з HTTP
Ниже приведена таблица, содержащая наиболее краткое описание основных свойств, методов и событий компонента TNMHTTP:
Свойства |
Body - строка, содержащая либо путь к файлу, в который будет записано тело http-документа (если св-во InputFileMode равно True), либо непосредственно само тело (если св-во InputFileMode равно False). Тип: string; Header - строка, содержащая либо путь к файлу, в который будет записан заголовок http-документа (если св-во InputFileMode равно True), либо непосредственно сам заголовок (если св-во InputFileMode равно False). Тип: string; HeaderInfo - структура, содержащая различную информацию о http-документе (подробней см. в help-файле). Тип: THeaderInfo; InputFileMode - тип записи результата. Значение True - запись в файлы, указанные в свойствах Body и Header, False - запись в сами эти свойства. Тип: Boolean; OutputFileMode - тип отсылаемых данных (методами Put, Post и Trace). Значение True - данные для отправки содержатся в файлах, указанных при вызове этих методов, а False - в самих аргументах этих методов. Тип: Boolean; |
Методы |
Get(URL: string) - посылает запрос на указанный URL. Данные после выполнения этого запроса записываются в файлы или в сами свойства Body и Header (в зависимости от значения свойства InputFileMode); Head(URL: string) - посылает запрос на указанный URL. Данные после выполнения этого запроса записываются в файл или в само свойство Header (в зависимости от значения свойства InputFileMode). В отличие от метода Get, при вызове Head запрос отсылается только на заголовок http-документа; Post(URL, PostData: string) - посылает запрос на изменение http-документа (с адресом URL) на данные, содержащиеся в параметре PostData. Если OutputFileMode равен True, то в PostData должен содержаться путь к файлу, содержащему нужные данные. Put(URL, PutData: string) - посылает запрос на создание http-документа (с адресом URL), содержащего данные, переданные в параметре PutData. Если OutputFileMode равен True, то в PostData должен содержаться путь к файлу, содержащему нужные данные. Trace(URL, TraceData: string) - посылает запрос на получение отладочных данных (для отладки соединения с HTTP-сервером). Данные для запроса нужно указать в параметре TraceData. Если OutputFileMode равен True, то в TraceData должен содержаться путь к файлу, содержащему нужные данные. Delete(URL: string) - посылает запрос на удаление http-документа (с адресом URL). |
События |
OnAuthenticationNeeded - возникает, когда сервер требует указания имени пользователя и пароля. В обработчике этого события (если оно возникнет) Вы должны ответить серверу, запонив нужными значениями соответствующие переменные. Примечание: Перед установлением соединения можно сразу заполнить поля UserID и Password в свойстве HeaderInfo; OnAboutToSend - возникает, когда компонент TNMHTTP собирается отправлять данные (запрос). В обработчике этого события можно заполнить дополнительной информацией свойство SendHeader; OnFailure - возникает, когда текущая операция завершилась неудачно, т.е. произошла ошибка; OnRedirect - возникает, сервер переадресовал ссылку с указанной URL на другую ссылку. Установив параметр handled в значение True можно запретить переадресацию и остановиться на запрошенной URL. Значение по умолчанию - False; OnSuccess - возникает, когда текущая операция завершилась успешно, т.е. запрос был выполнен без ошибок; Далее некоторые методы, унаследованные от TPowerSock: OnConnect - возникает, когда соединение с сервером успешно установлено; OnDisconnect - возникает, когда соединение с сервером завершено; OnConnectionFailed - возникает, когда соединение с сервером установить не удалось; OnError - возникает, когда последняя операция была завершена с ошибкой; OnHostResolved - возникает, когда от DNS получен IP-адрес указанного хоста; OnInvalidHost - возникает, когда DNS вернул ошибку при попытке определить IP-адрес указанного хоста; OnPacketRecvd - возникает, когда значения свойств BytesRecvd и BytesTotal изменены, т.е. была принята новая порция данных от сервера; OnPacketSent - возникает, когда значения свойств BytesSent и BytesTotal изменены, т.е. была отправлена новая порция данных на сервер; OnStatus - возникает, когда статус компонента был изменен (для обновления визуального оповещения пользователя); |