|
енте HTML для ввода пароля
Сразу после загрузки документа в окно браузера сценарий запускает таймер,
вызывая метод setTimeout из этого же класса. Таймер устанавливается на 10
секунд. Именно за это время вы должны ввести пароль и нажать кнопку “Enter
Password” в форме, показанной на рис. 2.12, чтобы получить доступ к странице.
Если повременить с вводом пароля или ввести неправильный пароль, сценарий
загружает в окно браузера динамически сформированный документ HTML с сообщением
о запрещении доступа (рис. 2.13).
Рис. 2.13. Сообщение о запрещенном доступе
Только в том случае, если пароль введен правильно и в течении 10 секунд, на
экране появляется сообщение о предоставлении доступа и ссылка, с помощью
которой можно перейти к просмотру главной страницы нашего сервера Web (рис. 2.
14).
Рис. 2.14. Сообщение о разрешении доступа и ссылка на главную страницу нашего
сервера Web
Разумеется, приведенный нами пример едва ли стоит использовать на практике
для ограничения доступа к странице сервера Web.
Во-первых, исходный текст сценария легко просмотреть и проанализировать
(если только сценарий не находится в отдельном файле, адрес которого указан при
помощи параметра SRC). Во-вторых, узнав один раз адрес страницы сервера,
пользователь может просто отметить эту страницу закладкой и в дальнейшем
посещать ее без ввода пароля.
Мы привели данный пример сценария только для иллюстрации применения методов
класса window. С помощью аналогичного сценария вы можете узнать, не заснул ли
пользователь, пока смотрел на вашу страницу.
Теперь рассмотрим исходный текст сценария JavaScript, встроенного в документ
HTML (листинг 2.6).
Листинг 2.6. Файл chapter2/Password/Password.html
Ввод пароля
Доступ ограничен
Мы ограничили доступ к нашему серверу :)
Вы должны ввести пароль (слово password)
в течении 10 секунд.
Прежде всего обратим ваше внимание на заголовок документа HTML.
В первой странице этого заголовка мы указали с помощью оператора
номер кодовой страницы 1251, соответствующей кириллице в Windows:
Без этой строки наш документ отображался неправильно браузером Microsoft
Internet Explorer версии 4.0.
В первых строках сценария, расположенного в заголовке документа, мы объявили
переменную idTimer и определили функцию StartMyTimer:
var idTimer=0;
function StartMyTimer()
{
var cmd="NoAccess()";
idTimer=window.setTimeout(cmd, 10000);
}
Функция StartMyTimer запускает таймер, сохраняя его идентификатор в
глобальной переменной idTimer. Для запуска таймера мы применили знакомый вам
метод с именем setTimeout.
Когда таймер сработает (а это произойдет через 10 секунд после загрузки
нашего документа HTML в окно браузера), будет вызвана функция NoAccess. Эта
функция выводит в окно браузера сообщение о запрещении доступа к странице.
Для того чтобы функция StartMyTimer зап
|
|