Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Spec_Mov_3k_4k_Lect.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.46 Mб
Скачать

Вопросы на самостоятельную проработку

  • Вызов Java Script –программ при активизации гиперсвязей

К оглавлению

Лекция 18. Различные аспекты применения скриптов Управление окнами

Окна можно создавать программно. Первоначально, после загрузки документа, открыто главное окно, к которому можно обращаться с помощью префикса top (окно верхнего уровня) или window (текущее активное окно), или вообще его не указывать. Первый из указанных префиксов, а также parent (окно-родитель) имеет смысл использовать при обращении к фреймам в пределах некоторой фреймовой структуры. Окно включает следующие свойства (см. дополнительно «Объектная модель документа»):

  • status – текст сообщения в строке состояния окна,

  • defaultStatus - текст сообщения по умолчанию в строке состояния,

  • frames – массив фреймов фреймсодержащего документа,

  • name – заголовок окна (можно устанавливать посредством одного из параметров метода open),

  • location – URL, открытого в окне документа,

  • history – представляет собой объект «истории» отображения документов в текущем окне,

  • navigator – представляет собой объект «навигатор»,

  • screen - представляет собой объект «окно» (используя методы этого объекта можно выяснить текущие параметры открытого окна),

  • event – объект «событие», создаваемый броузером для каждого системного или пользовательского события, и т.д.

В случае применения перечисленных свойств в процессе программирования необходимо учитывать, что в младших версиях броузера некоторые свойства представлены данными, обычно строкового типа, в старших версиях свойствам соответствуют объекты и необходимо применять методы этих объектов.

Пример

Определение версии броузера.

var browser=””;

if((navigator.appVersion.charAt(0)==”4”)

&& (navigator.appVersion.charAt(0)==”5”))

{

if(navigator.appName==”Netscape”)

browser=”netscape”;

else if(navigator.appName==”Microsoft Internet Explorer”)

browser=”ie”;

else alert(“Это сценарий только для броузеров версий 4.0 и выше!”);

}

Пример

Следующий программный код определяет ссылку и ее описание в строке состояния.

<a href=”order.html”

onMouseOver=”window.status=’Allow you to order products’; return true”

onMouseOver=”window.status=’’; ”

Order form </a>

Возвращаемое значение true позволяет отобразить текущее сообщение вместо сообщения по умолчанию (URL страницы).

Пример

Следующий код позволяет моделировать программно работу кнопок «Back» и «Forward» на панели инструментов.

<a href=”javascript:history.go(-1);”>

<img border=0 scr=”left.gif”>

</a>

<a href=”javascript:history.go(1);”>

<img border=0 scr=”right.gif”>

</a>

Рисунки кнопок (left.gif и right.gif) должны быть подготовлены заранее. Вместо метода go, примененного в вышепредставленной программе, можно использовать методы объекта history – back (соответствует go(-1)>) и forward (соответствует go(1)).

Пример

Следующий оператор дает указание загрузить страницу в текущее окно:

window.location.href=”http://www.sterlighttech.com”;

Объект location имеет метод reload (по действию соответствует кнопке «Reload» на панели инструментов; чтобы инициировать загрузку с сервера необходимо указать параметр true) и метод replace:

window.location.replace(”http://www.sterlighttech.com”);

В отличие от оператора представленного в начале данного примера, - текущая замещаемая в окне страница удаляется из списка history. В список history попадает новая страница.

Объект window обладает целым рядом методов (неполный их список приводится ниже):

  • alert(String) – отображает окно с кнопкой «OK» и заданной строкой String,

  • blur() – удаляет фокус ввода из заданного окна и формирует ситуацию onBlur,

  • close() – закрывает текущее активное окно (навигатор не закрывает главное окно без надлежащего подтверждения пользователем),

  • confirm(String) – отображает окно с 2 кнопками «OK» и «Cancel» и заданной строкой String, возвращает true, если был выбор кнопки «OK» и возвращает false, если был выбор кнопки «Cancel»,

  • focus() – передает фокус ввода окну, в окне появляется курсор, с которым можно активно работать,

  • open(URL, winName[, winFeatures]) – первый параметр представляет собой URL документа, загружаемого в новом созданном окне (если URL представлен пустой строкой, то создается пустое окно), параметр winName представляет собой идентификатор окна, который можно использовать как значение атрибута target, свойства окна winFeatures должны быть представлены строкой, в которой каждое свойство задается подобно тому, как атрибуты в тэгах, но еще разделяться запятыми, например так: “height=500, width=800, toolbar=no”,

  • prompt(message, defaultReply) - отображает окно с кнопками «OK» (или «YES») и «Cancel», заданным сообщением message и текстовым полем для ввода данных (в поле отображается значение по умолчанию defaultReply); щелчок по кнопке «Cancel» приводит к тому, что функция возвращает в качестве результата значение null, щелчок по кнопке «OK» (или «YES») приводит к тому, что функция возвращает в качестве результата значение введенное в текстовое поле,

  • setTimeout(expr, msecs[, args | language]) – после выполнения задержки msecs, заданной в миллисекундах, выполняется выражение expr; в качестве результата возвращается идентификатор таймера, который может быть использован в программе для останова таймера при помощи метода clearTimeout (основная программа выполняется параллельно с выполнением тайм-аута); параметр args используется в Netscape Navigator и представляет собой строку, содержащую параметры, разделяемые запятыми для функции, указанной в качестве выражения expr, для Internet Explorer указывается параметр language, представляющий язык для вычисления скрипта expr.

Пример

В данном примере представлено отображение в строке состояния «бегущей строки».

………………………..

var msg = ”Это пример бегущей строки. Запрограммируйте смену содержимого!”;

var spacer = “… …”;

var pos = 0;

function ScrollMessage()

{

window.status = msg.substring(pos, msg.length) + spacer + msg.substring(0, pos);

pos++;

if(pos > msg.length) pos = 0;

window.setTimeout(“ScrollMessage”, 200);

return true;

}

………………………..

Естественно, что для отображения указанной выше «бегущей строки» необходимо инициировать вызов функции ScrollMessage.

Помимо перечисленных выше атрибутов, при создании окон можно указывать следующие параметры, задавая для них значения «YES» или «NO» (ниже приводится неполная таблица дополнительных параметров).

Параметр

Что определяет

copyhistory

Сохранение истории загрузки документов

directories

Наличие кнопок групп новостей

location

Наличие поля «Location:»

menubar

Наличие меню

resizable

Наличие рамки с возможностью изменения размеров окна

scrollbars

Наличие линеек прокрутки

status

Наличие строки состояния

toolbar

Наличие кнопок управления – «BACK», «FORWARD» и т.п.

Пример

………………………..

var win = window.open(“”, “Something title”, “toolbar=no, width=300, height=400, scrollbars=yes”);

win.document.open();

………………………..

В данном примере выполняется создание нового окна, затем применяется оператор для создания документа в этом окне. Далее может располагаться необходимое количество операторов для динамического (программного) формирования документа.

Если некоторые параметры для создаваемого окна не указаны, то они наследуются от окна-родителя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]