Главная страница
Навигация по странице:

  • Свойства объекта window Свойство Описание

  • Пример 14. Открытие нового окна и запись в него

  • Пример 15. Периодический "процесс"

  • Пример 16. Взаимодействие с фреймом из сценария

  • Пример 17. Взаимодействие вложенных фреймов

  • Объект navigator Является свойством объекта window и предоставляет информацию об используемом клиентом браузере. Свойства

  • Методы javaEnabled() Возвращает true, если возможен в браузере запуск Java-апплета. В противном случае false. Объект location

  • Синтаксис URL Адрес 1 Адрес 2

  • Методы reload() Перезагружает в браузер текущую страницу. replace(URL) Загружает в окно браузера страницу, адрес которой задан в качестве его параметра. Объект history

  • Урок 11. Объекты доступа к странице и ее элементам Объект document

  • Пример 18. Проверка данных формы

  • Урок 12. Обработка событий в MS Internet Explorer Обработчики событий

  • Событие Применяется к объектам Когда происходит событие

  • Вызов процедуры обработки события

  • Пример 19. "Всплытие" события

  • конспект курса Java Script. Программирование клиентской части Интернет приложений с использованием JavaScript


    Скачать 1.49 Mb.
    НазваниеПрограммирование клиентской части Интернет приложений с использованием JavaScript
    Анкорконспект курса Java Script
    Дата17.05.2023
    Размер1.49 Mb.
    Формат файлаpdf
    Имя файлаkonspekt_kursa_JavaScript.pdf
    ТипУрок
    #1137677
    страница7 из 11
    1   2   3   4   5   6   7   8   9   10   11
    Часть II. Среда клиента
    Урок 10. Объектная модель MS Internet Explorer
    Как отмечалось в уроке 2 при обсуждении языков сценариев, последние используются для расширения возможностей некоторой среды, которая для этих целей "поставляет" ряд объектов, доступных из сценариев. В рамках клиентского
    Web-программирования такой средой является программа просмотра Интернета.

    75
    Если она поддерживает программирование на каком-либо языке сценариев, то она предоставляет ряд объектов для взаимодействия с ней из сценариев.
    Раскрываемые браузером MS Internet Explorer объекты представляют собой иерархию, во главе которой расположен объект window, соответствующий окну браузера. Ряд объектов (navigator, history, location) непосредственно связан с функциональностью самого браузера, тогда как другие объекты
    (семейство frames и объект document) позволяют получить доступ к отображаемому в данный момент в окне браузера документу HTML.
    window
    document
    history
    location
    frames
    plugins
    applets
    anchors
    scripts
    images
    embeds
    forms
    selection
    all
    navigator
    plugin
    mimetype
    links
    document
    screen
    styleSheets
    body
    text
    button
    radio
    checkbox
    password
    hidden
    reset
    submit
    file
    textarea
    select
    option
    Объект window
    Объект window создается автоматически при запуске браузера. Для выполнения его методов или установки и получения значений свойств указывать его не обязательно, хотя и рекомендуется для лучшей читаемости кода сценария.
    Заметим, что любое окно браузера или отображаемый в нем фрейм представлен объектом этого типа.
    Свойства объекта window
    Свойство
    Описание
    opener
    Ссылка на окно, открывшее данное. parent
    Ссылка на родительское окно в иерархии объектов. top
    Ссылка на верхний родительский объект. name
    Имя окна.

    76 screenLeft, screenTop Координаты левого верхнего угла окна отображения браузера относительно левого верхнего угла экрана. status
    Текст в строке состояния.
    Из всех перечисленных свойств объекта window сейчас мы остановимся на трех последних.
    Изменяя значения свойств screenLeft и screenTop объекта window
    (задаются в пикселях) можно изменить положение окна браузера относительно верхнего левого угла экрана монитора компьютера клиента.
    Свойство status полезно для получения в сценарии строки, отображающейся в строке состояния окна браузера, а также для отображения информации для пользователя, например, что документ HTML обработан и загружен: window.status = "Документ загружен."
    Методы объекта window
    У этого объекта есть много полезных методов, но основным можно считать метод open()
    , с помощью которого создается новое окно браузера (загружается еще одна его копия). Синтаксис этого метода представлен ниже: переменная = window.open([имя_файла],[имя_ссылки_окна],
    [строка_параметров])
    В переменной хранится возвращаемая методом ссылка на новое окно, которую можно использовать для доступа к нему из сценария JavaScript.
    Первым параметром имя_файла определяется полный или относительный URL- адрес открываемого в окне документа (если задана пустая строка, то открывается пустая станица).
    Второй параметр имя_ссылки_окна позволяет задать имя вновь открытого окна, которое можно использовать в документе HTML в атрибуте target гипертекстовой ссылки для указания загрузки в него документа.
    Параметр строка_параметров — строка, представляющая список параметров вновь создаваемого окна со значениями. Каждый параметр задается в виде параметр=значение. Все параметры вместе со своими значениями в строке отделены друг от друга запятыми. Допустимые параметры: height=высота — определяет высоту окна в пикселях; width=ширина — определяет ширину окна в пикселях; left=значение — определяет горизонтальную координату верхнего левого окна в пикселях; top=значение — определяет вертикальную координату верхнего левого окна в пикселях; resizable={yes|no|1|0} — может ли пользователь изменять размеры окна; location={yes|no|1|0} — отображается ли адресная строка; menubar={yes|no|1|0} — отображается ли строка меню;

    77 scrollbars={yes|no|1|0} — отображаются ли полосы прокрутки; titlebar={yes|no|1|0} — отображается ли строка заголовка окна (только для HTML-приложений); toolbar={yes|no|1|0} — отображается ли панель инструментов; status={yes|no|1|0} — отображается ли строка состояния.
    Например, следующий вызов, создаст новое окно браузера без панели инструментов и полос прокрутки, загрузив в него документ с указанным первым параметром абсолютным адресом. В любом документе HTML, для ссылки на это окно можно использовать имя linkWin. В сценарии ссылаться на это окно можно с помощью переменной winExample. winExample = window.open(
    "http://www.bhv.ru/library/index.html",
    "linkWin", "toolbar=no,scrollbars=yes")
    Вывод во вновь открытое окно осуществляется методом write() объекта document этого окна.
    Закрывается окно методом close() без параметров: window.close()
    В сценарии можно использовать специальное имя self для ссылки на текущее окно или использовать переменную, хранящую ссылку на требуемое окно: self.close() newWindow.close()

    Пример 14. Открытие нового окна и запись в него
    Создадим страницу HTML, открывающую новое окно браузера при щелчке в любом месте документа. Для этого обработчику onclick объекта document присвоим ссылку на функцию openNewWindow(), в которой открывается новое окно newWind и в него записывается абзац:



    78
    Щелчок в области документа откроет новое окно.

    79 confirm(сообщение) окно с сообщением и двумя кнопками
    (возвращает true, если нажата кнопка
    Yes, и false, если нажата кнопка No);
    Метод setTimeout() запускает выполнение кода JavaScript, задаваемого первым строковым параметром, через определенный промежуток времени после выполнения метода.
    Метод setInterval() запускает периодический "процесс" выполнения кода
    JavaScript, задаваемого первым строковым параметром, с интервалом, указанным вторым параметром. переменная = window.setTimeout(строка_кода, интервал,
    [язык]) переменная = window.setInterval(строка_кода, интервал,
    [язык])
    Интервал задается в миллисекундах (1000 соответствует 1 секунде).
    Необязательный параметр язык определяет язык сценария для выполняемого кода
    (JavaScript, VBScript). По умолчанию предполагается язык JavaScript.
    Для остановки запущенных процессов используются соответственно методы и , параметрами которых является переменная, в которой сохранен результат запуска "процесса": window.clearTimeout(переменная) window.clearInterval(переменная)
    Одновременно можно запустить много "процессов". Обычно метод setInterval() используется для создания страницы HTML с движущимися элементами.

    Пример 15. Периодический "процесс"
    Ниже приведен код страницы HTML, после загрузки которой каждые три секунды будет появляться сообщение, генерируемое вызовом функции myMessage():


    Каждые три секунды будет появляться сообщение

    80
    Область отображения браузера разбивается на несколько частей (фреймов) с помощью вложенных в элемент FRAMESET элементов FRAME, в которых и отображаются соответствующие документы HTML.
    Контейнер может содержать кроме элементов и другие теги , образуя, таким образом, вложенные наборы фреймов. Пример страницы HTML, задающей вложенные наборы фреймов, представлен ниже:







    Для доступа к фреймам из сценария JavaScript предусмотрен объект top, являющийся родителем всех фреймов (в нашем примере clock, menu и content
    ). Для ссылки на фреймы страницы можно использовать либо символические имена, либо свойство-массив frames объекта top, в котором содержатся ссылки на все фреймы страницы. Так, на первый фрейм можно сослаться двумя способами: top.clock top.frames[0]
    Каждый фрейм в сценарии представляется как объект window, обладающий всеми рассмотренными выше свойствами и методами этого объекта.
    Свойство location фрейма содержит адрес загруженного в него документа.
    Изменение значения этого свойства приведет к загрузке нового документа в соответствующий фрейм. Следующий фрагмент кода HTML задает на странице menu.html кнопку с именем Во фрейм clock, при щелчке на которую во фрейм clock загружается страница HTML:



    Для доступа из сценария к странице, загруженной во фрейм, следует использовать его свойство-объект document.

    Пример 16. Взаимодействие с фреймом из сценария
    Создадим страницу с двумя фреймами:





    81
    Во фрейм Frame1 загрузим файл frame1.html.:



    При щелчке на кнопке Запись во фрейм Frame2 второй фрейм будет заполняться содержимым, определенным в качестве параметра метода write объекта document этого фрейма.

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

    Пример 17. Взаимодействие вложенных фреймов
    Загружаемая страница с фреймами frame.html:




    Файл frame2.html (названия фреймов могут быть такими же, как и в главной странице!):




    Файл frame1-1.html, предоставляющий запись во фрейм Frame1 страницы frame2.html:

    Можно на фрейм Frame1 файла frame2.html сослаться и так: top.frames[1].frames[0]


    82
    Объект navigator
    Является свойством объекта window и предоставляет информацию об используемом клиентом браузере.
    Свойства appCodeName
    Название кода браузера. appName
    Название браузера. appVersion
    Версия браузера. browserLanguage
    Текущий используемый язык браузера. cookieEnabled
    Поддерживает ли браузер сохранение cookies. userAgent
    Заголовок, посылаемый клиентом серверу при обмене данными по протоколу HTTP. cpuClass
    Строка, характеризующая используемый процессор компьютера. onLine
    Браузер в режиме работы с сетью или в автономном. platform
    Строка, характеризующая операционную систему компьютера. systemLanguage
    Используемый по умолчанию язык операционной системы компьютера.
    Методы
    javaEnabled()
    Возвращает true, если возможен в браузере запуск
    Java-апплета. В противном случае false.
    Объект location
    Объект location также является свойство объекта window и связан с URL- адресом отображаемого в браузере документа. Синтаксис URL-адреса имеет следующий вид: protocol//host:port/pathname#hash?search
    Примеры URL-адресов http://localhost:8080/doc/url.html#path http://www.net.org/tutorial/cgi/url.pl?name=search и соответствие их частей указанным в синтаксисе обозначениям:
    Синтаксис URL
    Адрес 1
    Адрес 2
    protocol http: http: host localhost www.net.org port
    8080 pathname doc/url.html tutorial/cgi/url.pl hash path search name=search

    83
    Свойства
    href возвращает полный адрес загруженного документа. Если его изменить, то будет загружен новый документ. Является свойством по умолчанию, поэтому для загрузки нового документа из сценария можно использовать следующую конструкцию: window.location = "http://microsoft.com/index.asp";
    Остальные свойства hash, host, hostname, pathname, port , protocol, search соответствуют частям адреса загруженного документа, используемые как для получения, так и для изменения соответствующих частей адреса.
    Методы
    reload()
    Перезагружает в браузер текущую страницу. replace(URL)
    Загружает в окно браузера страницу, адрес которой задан в качестве его параметра.
    Объект history
    Объект history (свойство объекта window) содержит список адресов документов HTML, ранее загружавшихся в браузер.
    Его свойство length хранит общее количество адресов в этом объекте.
    Метод go() этого объекта загружает страницу из списка посещенных. Текущая страница имеет индекс 0, предыдущие по отношению к текущей страницы индексируются отрицательными целыми числами, а последующие положительными целыми числами: history.go(-3)
    Для перемещения на одну страницу назад и на одну страницу вперед относительно текущей в списке посещенных можно использовать соответственно методы back() и forward() этого объекта.
    Упражнения
    1. Видоизменить программу примера 14, добавив на страницу две кнопки — одну для открытия окна, другую для закрытия.
    2. Создать страницу с кнопкой, при щелчке на которой окно будет смещаться на
    20 пикселей по горизонтали и по вертикали.
    3. При загрузке страницы запустить два процесса, отображающие каждый свое сообщение. На странице предусмотреть кнопку, при нажатии на которую отображается диалоговое окно с просьбой ввести идентификатор процесса. После его ввода процесс останавливается.
    4. В цикле определить все свойства объектов navigator и location и отобразить их в браузере в виде таблиц:

    84 название свойства значение
    5. Создать три страницы HTML. На первой странице расположена гиперссылка на страницу с именем history.html. На этой странице три кнопки: первая реализует метод back(), вторая метод forward() и третья метод go(). Также на этой странице должна быть гиперссылка на третью страницу HTML со ссылкой на history.html.
    Загружаем первую страницу и переходим по ссылке на страницу history.html. С нее переходим по ссылке на третью страницу HTML и возвращаемся на страницу history.html нажатием кнопки Назад панели инструментов браузера.
    Теперь при нажатии кнопок, реализующих методы back() и forward() мы должны попасть соответственно на первую и третью страницы, а при нажатии на кнопку, реализующую метод go(), в диалоговом окне следует указать на какую страницу мы хотим перейти (ее номер относительно текущей).
    Урок 11. Объекты доступа к странице и ее элементам
    Объект document
    Этот объект содержит информацию о текущей загруженной странице. Для каждой страницы создается один объект document.
    Свойства
    Часть свойств соответствуют атрибутам тега-контейнера : background, bgColor, fgColor (атрибут text), linkColor (атрибут link), alinkColor
    (атрибут alink) и vlinkColor (атрибут vlink). Другие свойства не соответствуют атрибутам указанного тега. Например, URL хранит адрес загруженного документа, parentWindow предоставляет ссылку на окно- родитель.
    Семейства
    all
    Содержит ссылки на все объекты, представляющие элементы
    HTML anchors
    Содержит объекты, соответствующие тегам в порядке их появления в документе applets
    Содержит объекты, соответствующие тегам в порядке их появления в документе embeds
    Содержат объекты, соответствующие тегам в порядке их появления в документе forms
    Содержит объекты, соответствующие тегам
    в порядке их появления в документе

    85 images
    Содержит объекты, соответствующие тегам в порядке их появления в документе links
    Содержит объекты, соответствующие тегам
    HREF="..."> и , а также объекты link, созданные методом link() в порядке их появления в документе scripts
    Содержит объекты, соответствующие тегам

    Сама процедура задается следующим кодом (объект event в IE доступен просто по своему имени):
    // В IE function showEventType() { alert("Произошло событие: " + event.type)
    }
    Второй, неявный вызов процедуры обработки события требует задания обращения к ней в атрибуте onmousedown в открывающем теге элемента
    INPUT:



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

    92 браузера. Цикл жизни любого типичного события JavaScript включает следующие этапы:
    1. Происходит действие пользователя или возникает условие, которое возбуждает событие
    2. Тотчас же корректируется объект event, чтобы отразить параметры возникшего события
    3. Событие генерируется – это и есть истинное сообщение о возникшем событии
    4. Вызывается обработчик событий элемента-источника события, который выполняет определенные программистом действия и завершает свою работу
    5. Событие передается вверх по иерархии объектов (bubble up) и вызывается обработчик события объекта, являющегося родителем объекта-источника события. Это "всплытие" вверх по иерархии объектов продолжается, пока не будет достигнут самый верхний объект иерархии – объект window, или обработчик события какого-либо объекта не аннулирует событие
    6. Выполняются заключительные действия по умолчанию, если таковые определены, но при условии, что событие не было аннулировано.

    Пример 19. "Всплытие" события
    В этом примере щелчок на любом элементе HTML страницы приводит к отображению диалогового окна с надписью "Не надо щелкать".


    1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта