Главная arrow Программирование на JAVA arrow Использование окон и фреймов

Использование окон и фреймов

Программирование на JAVA - Справочное руководство по JAVASCRIPT

Открытие и закрытие окон

Открытие окон
Закрытие окон

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

Открытие окон

Вы можете создавать окно с помощью метода Window. Следующее утверждение создает окно "msgWindow", которое показывает содержание файл sesame.html:
MsgWindow=window.open("sesame.html")
Следующее утверждение создает окно "homeWindow", которое показывает домашнюю страницу Netscape:
homeWindow=window.open("http://www.netscape.com")
Окна могут иметь два названия. Следующее утверждение создает окно с двумя названиями. Название окна "msgWindow" - это вовсе не имя окна, но только с помощью этой переменной вы можете получить доступ к окну. И поскольку это обычная переменная, то область ее действия - лишь тот скрипт, в котором она определена; а между тем, имя окна, "displayWindow" - уникальный идентификатор, которым можно пользоваться с любого из окон браузера.
msgWindow=window.open("sesame.html","displayWindow")
Когда Вы создаете окно, имя окна не требуется. Но если Вы хотите обратиться к окну из другого окна, то окно должно иметь свое уникальное имя (в данном случае "displayWindow"). Приведенный далее скрипт открывает новое окно браузера и загружает в него страничку sesame.html с помощью метода open():

Заметим, что Вы имеете возможность управлять самим процессом создания окна. Например, Вы можете указать, должно ли новое окно иметь строку статуса, панель инструментов, меню или полосы прокрутки. Кроме того, Вы можете задать размер окна. Рассмотрим следующий пример создания окна размерами 250x100 пикселов, которое не имеет ни строки статуса, ни панель инструментов, ни меню, ни полосы прокрутки.

Как видно в примере, свойства окна записаны в строке "width=250,height=100,status=no,toolbar=no,menubar=no,scrollbars=no", в которой следует обратить внимание на то, что вам не следует помещать в ней символы пробела.

Закрытие окон

Вы можете закрывать окна с помощью языка JavaScript. Следующие утверждения закрывают текущее окно:

Замечание: не использовать следующее утверждение в обработке результата close() Следующее утверждение закрывает окно, названное "msgWindow":

Один из способов выдать сразу несколько файлов HTML на экране пользователя - это открыть несколько окон броузера. Другой путь состоит в том, чтобы разбить окно на несколько разделов. Эти разделы называются фреймами. В каждом фрейме показывается свой документ HTML. Каждый фрейм может иметь свои полосы прокрутки, ссылки, графические изображения и т.д. Фреймы могут функционировать независимо или влиять друг на друга, используя ссылки, указывающие на другие фреймы.
Для использования фреймов необходимо как минимум три файла: установачный файл и два исходных файла HTML. Установачный файл назначает исходные файлы HTML для каждого из окон, но не содержит собственного текста или графики. Исходные файлы HTML выдаются во фреймы и, как и любые другие файлы могут содержать ссылки, изображения, скрипты и пр.
Для создания установочного фрейма необходимо два тэга:

Внутри тега <frameset> мы использовали свойства rows и cols. Это означает, что фреймы будут расположены друг над другом или друг под друго соответсвенно. Фрагмент "33%,33%,33%" задает размеры открываемых окон. Этот фрагмент эквивалентен следующей записи "33%,33%,*" или задать размер фрейма в пиксилах, для чего достаточно после числа не ставить символ %. Любому фрейму можно присвоить уникальное имя, воспользовавшись в тэге <frame> атрибутом name. Такая возможность пригодится нам в языке JavaScript для доступа к фреймам.
Тег <frame> содержит отрибуты, которые управляют различными свойствами фреймов.
BORDER=определяет ширину разделительной полосы между фреймами.
BORDERCOLOR=устанавливает цвет разделительной полосы между фреймами.
NORESIZE атрибут, запрещающий пользователю изменять размеры фреймов.
SCROLLING=задает, появляются ли в окне полосы прокрутки.
MARGINHEIGHT=добавляет пустое поле между верхней границей фрейма и началом текста или графики.
MARGINWIDTH=добавляет пустое поле между боковыми границами фрейма и текстом или графикой.

Следующий график показывает окно, содержащее три фреймов:

Следующий график показывает иерархию фреймов. Все три фрейма имеют того же самого родителя, даже при том, что два из фреймов определены внутри отдельного frameset. Это, потому что родитель фреймов есть родитель окно, и фрейм, расположенный не в frameset, определяет окно.

top | +--listFrame (category.html) | +--contentFrame (titles.html) | +--navigateFrame (navigate.html)

Вы можете обращаться к предыдущим фреймам, используя массив frames следующим образом. (Для информации относительно массива frames, смотрите объект frame.)

  • listFrame - top.frames [0]
  • contentFrame - [1] top.frames
  • navigateFrame - top.frames [2]

Пример 2.Вы можете создавать окно подобно предыдущему, но в котором вершина двух фреймов имеют отдельного родителя из navigateFrame. Верхний уровень frameset будет определен следующим образом:

Вы можете обращаться к предыдущим фреймам, использующим массив frames следующим образом. (Для информации относительно массивов frames, смотрите объект frame.)

  • upperFrame - top.frames [0]
  • navigateFrame - [1] top.frames
  • listFrame - upperFrame.frames [0] или top.frames [0] .frames [0]
  • contentFrame - upperFrame.frames [1] или top.frames [0] .frames [1]

Модифицикация фреймов

Вы можете модифицировать содержание фрейма, используя свойство location, пока вы точно определяете иерархию фреймов.

Например, пусть вы используете frameset, описанный в Примере 2 в предыдущем примере. Если вы хотите, чтобы пользователь был способен закрывать фрейм, содержащий список artists (в фрейме listframe) и просматр только music titles, сортируемые musician (в настоящее время в фрейме contentFrame), вы можете добавить следующую кнопку к navigateFrame.

Если Вы хотите, чтобы пользователь мог закрыть фрейм, содержащий список artists (в фрейме listframe) и просматривая только music titles, сортируемые musician (в настоящее время в фрейме contentFrame), вы можете добавить следующую кнопку к navigateFrame.

Когда пользователь нажимает на эту кнопку, файл artists.html загружается в фрейм upperFrame; фреймы listFrame и contentFrame закрываются и больше не существуют.

Обращение и управляние среди фреймов

Поскольку фреймы - это тип окна, то вы обращаетесь к фреймам и перемещаетесь среди фреймов также как с окном. Смотрите также: обращение к окнам и фреймам и Управление окнами

Пример Фреймов

Если frameset в предыдущем примере разработан, чтобы представить доступные названия для music club, фреймы и их файлы HTML могут иметь следующее содержание:

  • category.html, в фрейме listFrame, содержит список музыкантов, сортируемых классом.
  • titles.html, в фрейме contentFrame, содержит алфавитный список каждого музыканта и названий, доступных для того музыканта.
  • navigate.html, в фрейме navigateFrame, содержит гиперссылки, которые позволяют пользователю, выбирать, как музыканты показаны в listFrame: в алфавитном списке или категорическом списке. Этот файл также определяет гиперссылки, которые позволяют пользователю, выделить описание каждого музыканта.
  • Дополнительный файл, alphabet.html, содержит список музыкантов, сортируемые в алфавитном порядке. Этот файл показана в listFrame, когда пользователь нажимает связь для алфавитного списка.

Обращение к окнам и фреймам

Имя, которое вы используете, чтобы обратиться к окну, зависит от того, обращаетесь ли вы к свойствам, методам, и обработчикам события окна или - обращаетесь к окну, как к строке, указывающей имя окна подчиненной формы или гиперсвязь.

Так как объект окна - верхнего уровня объект в JavaScript иерархии пользователя, окно необходимо для определения объектов в любом окне.

Обращение к свойствам, методам, и обработчикам собития окна

Вы можете обращаться к свойствам, методам, и обработчикам собития текущего окна или другого окна следующими из способов:

  • self или window. Self или window - синонимы для текущего окна, и вам необязательно использовать их, чтобы обратиться к текущему окну. Например, Вы можете закрыть текущее окно, используя или window.close () или self.close ().
  • top или parent. Top или parent - также синонимы, которые могут использоваться вместо имени окна. Top обращается к самому верхнему окну Navigator, и parent обращается к окну, содержащий frameset. Например, выражение parent.frame2.document.bgColor="teal" изменяет цвет фона фрейма с именем frame2 в teal; frame2 - фрейм в текущем frameset.
  • The name of a window variable. Variable окна - переменная, которая определена, когда окно открыто. Например, msgWindow.close () закрывает окно с именем msgWindow. Однако, когда Вы открываете или закрываете окно внутри обработчика события, то вы должны точно определить window.open () или window.close () вместо использования open() или close(). Из-за обзора статических объектов в JavaScript, обращение к close() без определения точного имени окна эквивалентно выражению document.close().
  • Omit the window name. Поскольку существование текущего окна принято, то вы не должны обращаться к имени окна, чтобы вызывать его метод и присвоить его свойству. Например, close() закрывает текущее окно.

Для получения дополнительной информации этих методах обращения к окну, смотрите объект window.

Пример 1: обращение к текущему окну. Следующая выражение обращается к форме с именем musicForm в текущем окне. Выражение выдает предупреждение, если переключатель выбран.

 
« Пред.   След. »

Голосование



резьба по мрамору

Populiari trumpalaike automobiliu nuoma ilgam laikotarpiui