Этот шаг будет посвящен объекту History.
Объект History содержит информацию об адресах, которые браузер посетил во время текущего сеанса. Мы можем передвигаться по этому списку с помощью сценария, загружая страницы, ссылки на которые он содержит. Объект History имеет только одно свойство и три метода.
Название | Описание |
---|---|
Свойства | |
Length | Число документов в массиве. |
Методы | |
Back | Переход на предыдущий документ. |
Forward | Переход на последующий документ. |
Go <номер> | Переход на указанное количество документов. Если номер значение положителен, то переход вперед, если отрицателен – то назад. |
Приведем пример использования перечисленных методов.
Тексты HTML-документов, реализующих данную задачу, приведены ниже.
Текст главного HTML-документа, содержащего описание структуры фреймов:
<HTML> <HEAD> <TITLE>Пример использования объекта History</TITLE> <FRAMESET ROWS=30%,*> <FRAME Name=Fr1 SRC=pr1.html> <FRAME Name=Fr2> </FRAMESET> </HTML>
Текст HTML-документа pr1.html, находящегося в верхнем фрейме:
<HTML> <HEAD> <SCRIPT LANGUAGE=VBScript> <!-- kol = 0 'Количество загруженных документов. nomer = 0 'Номер текущего документа. 'Процедура активации/деактивации кнопок. Sub Proverka (m) If (m <= kol) and (m>1) Then 'Делаем доступной кнопку НАЗАД. Top.Fr1.Document.Form1.Button3.Disabled=FALSE Else 'Делаем недоступной кнопку НАЗАД. Top.Fr1.Document.Form1.Button3.Disabled=TRUE End If If (m < kol) and (kol > 1) Then 'Делаем доступной кнопку ВПЕРЕД. Top.Fr1.Document.Form1.Button2.Disabled=FALSE Else 'Делаем недоступной кнопку ВПЕРЕД. Top.Fr1.Document.Form1.Button2.Disabled=TRUE End If End Sub 'Процедура, выполняющаяся после загрузки документа. Sub Window_OnLoad() 'Делаем сначала кнопки недоступными. Top.Fr1.Document.Form1.Button2.Disabled=TRUE Top.Fr1.Document.Form1.Button3.Disabled=TRUE End Sub 'Загрузка документа. Sub Button1_OnClick() X=Prompt("Задайте URL-адрес", "E:\index.html") If X<>"" Then Top.Fr2.Location.Href = X 'Количество загруженных документов 'увеличим на 1. kol = kol + 1 Alert "Загружен документ №"&kol nomer = kol 'Номер текущего документа. 'Проверка на активацию/деактивацию кнопок. Proverka nomer End If End Sub Sub Button2_OnClick() 'Нажата кнопка ВПЕРЕД. Top.Fr2.History.Forward nomer = nomer + 1 Alert "Загружен документ №"&nomer 'Проверка на активацию/деактивацию кнопок. Proverka (nomer) End Sub Sub Button3_OnClick() 'Нажата кнопка НАЗАД. Top.Fr2.History.Back nomer = nomer - 1 Alert "Загружен документ №"&nomer 'Проверка на активацию/деактивацию кнопок. Proverka (nomer) End Sub '--> </SCRIPT> </HEAD> <BODY> <H2>Свойства объекта Navigator</H2> <FORM NAME="Form1"> <INPUT TYPE="BUTTON" NAME="BUTTON1" VALUE="Загрузка документа"> <INPUT TYPE="BUTTON" NAME="BUTTON2" VALUE="Вперед"> <INPUT TYPE="BUTTON" NAME="BUTTON2" VALUE="Назад"> </FORM> </BODY> </HTML>
Результат просмотра в браузере будет следующим:
Рис.1. Результат работы приложения
Опишем назначение каждой из процедур, однако сначала отметим, что мы создали две переменные, которые будут доступны во всех процедурах. Это переменная kol, хранящая общее количество открытых документов, и nomer, содержащая номер текущего документа.
Процедура Window_OnLoad() вызывается после загрузки документа. Здесь кнопки Вперед и Назад делаются недоступными, так как еще нет ни одного загруженного документа. Заметим также, что эти кнопки останутся недоступными и в том случае, когда будет загружен только один документ.
Обратите внимание, что проверка включения/выключения доступности кнопок Вперед и Назад происходит внутри процедуры Proverka, в которую передается номер активного в данный момент документа.
Кнопка Вперед будет активной в том случае, когда загружено более одного документа и в данный момент отображается не последний документ. Аналогично кнопка Назад будет активной тогда, когда в массиве загруженных документов более одного документа и в браузере находится не первый документ.
Для контроля за правильностью работы процедур выводится диалоговое окно с номером активного документа.
Слеующий шаг посвящен объекту Document.