Введение



Язык JavaScript


Сегодня Всемирная сеть - это среда информационного обмена для миллионов людей. Они размещают текст, видео, звук, и информацию, и все более и более, они усложняют свои страницы, делая их интерактивными в сети. JavaScript - это новый язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape в сотруднечестве с Sun Microsystems на базе языка Sun's Java .С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тегами HTML. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя. Создание Web- документов, вклучающих программы на JavaScript, требует наличее текстового редактора и подходящего браузера. Некоторые просмоторщики включают в себе встроенные редакторы, поэтому необходимость во внешнем редакторе отпадает.

Несмотря на отсутствие прямой связи с языком Java, JavaScript может обращаться к внешним свойствам и методам Java- апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScript могут работать только внутри браузера. На первой взгляд кажется, что найти информацию по JavaScript несложно. Сначала создается впечатление, что ее можно увидеть везде: на сервере Natscape, в виде электронных руководств и примеров, во многих других местах. Тем не менее разыскать информацию об объектах, операторах, цветах и всем прочем в одном источнике, чтобы она была всегда под рукой, трудно.

JavaScript и Java


JavaScript и Java- это два разных языка программирования. Java- это объектно-ориентированный язык программирования и запускается при помощи компилятора и вспомогательных файлов. Разрабатываемые с помощью Java программы могут работать как законченные приложения либо как встроенные в Web-страницу апплеты. И хотя они встроены в страницу HTML, они храняться на клиенской машине как отдельные файлы.

Напротив, JavaScript, размещаются внутри HTML страницы и не могут существовать, как отдельные программы и функционируют, будучи запущенными в браузерах типа Netscape Navigator или Internet Explorer.

Следующая таблица сравнивает JavaScript и Java

.
JavaScript Java
Не компилируемый клиентом. Компилируемая клиентом перед запуском программы.
Объектный язык. Объектно-ориентированный.
Внедренный в HTML - страницу. Небольшие приложения, отделенные от HTML - страниц.
Переменные типы данных, не объявляются. Переменные типы данных должны быть объявленны (строгий контроль типов).
Динамическое закрепление. Ссылки объекта, поверяются во время выполнения. Статическое закрепление. Ссылки объекта, проверяются во время компиляции.

JavaScript и JScript

Спецификация языка JavaScript

В первоначальном варианте JavaScript назывался LiveScript. Однако не успело это название сделаться привычным, как Netscape поменяла его, а заодно и основные концепции языка. Сейчас выпущена уже третья версия, и с выходом каждой из них в JavaScript появлялись новые функции. Но подобные непрерывные совершенствования могли сильно мешать разработчикам, которым бы хотелось, чтобы создаваемые Web-страницы воспринимались максимальным числом браузеров. Действительно, какая польза от "напичканной" JavaScript-сценариями страницы, если миллионы клиентов не смогут ее прочитать. Как будто специально чтобы еще осложнить жизнь программистов, Microsoft предложила собственную версию JavaScript, назвав ее JScript; сейчас выпущена уже вторая основная редакция. По аналогии с языком JavaScript фирмы Netscape, который ориентирован на браузер Netscape Navigator, JScript создавался для работы с Internet Explorer. И хотя обе эти реализации похожи друг на друга, в каждой из них имеются свои уникальные функциональные возможности. Такой разнобой приводит к тому, что ваша прекрасно оформленная Web-страница, содержащая обращения к сценариям на JavaScript, может не воспроизводиться на "другом" браузере, что, возможно, лишит вас миллионов потенциальных клиентов. Как в таком случае быть? Следует ли придерживаться только одной спецификации? Или можно попытаться создавать сценарии, совместимые как с JavaScript, так и с JScript?

Для того чтобы ответить на эти вопросы, давайте внимательно рассмотрим оба языка, проведем их детальное сравнение и дадим рекомендации по подготовке сценариев, совместимых как с пакетом Netscape Navigator, так и Internet Explorer.

JavaScript компании Netscape

JavaScript - это несомненно превосходный инструмент для преобразования Web-страниц из безжизненных картинок в динамичные, полностью интерактивные страницы с незамедлительной реакцией на действия пользователя. Но что делать, если хочется большего, если тянет вырваться за традиционные рамки задач, возлагаемых на сценарии? Например, что, если организовать с помощью JavaScript одновременное решение задачи средствами сервера и клиента? Сможет ли удовлетворить JavaScript этим пожеланиям?

Без всякого сомнения - да. Созданный как несложный набор команд для подго-товки сценариев работы клиента, JavaScript превратился в развитую инфраструктуру для решения задач, связанных с деятельностью как клиента, так и сервера. Средства для обслуживания клиентской части вычислений, к которым вы обращаетесь из Web-страниц, предоставляются браузером Netscape Navigator. Когда же речь идет о фоновой обработке, в ход идут средства JavaScript, реализованные на сервере. Они выполнены как надстройка к серверам Netscape и объединены в продукте, называемом LiveWire. На серверах FastTrack или Enterprise фирмы Netscape средства LiveWire и JavaScript обеспечивают обработку сценариев работы шлюза и полное обслуживание серверных задач по операциям под файлами, управлению базами данных и т. д.

По первоначальному замыслу считалось, что JavaScript - это открытый стандарт, не требующий ориентации на разработки отдельной компании или на конкретный про-дукт, но жизнь внесла свои коррективы. В конечном счете оказывается, что при исполь-зовании JavaScript приходится ориентироваться на продукты и технологии, разработан-ные фирмой Netscape. Более того, наблюдается тесная интеграция JavaScript в общую технологическую модель, разрабатываемую Netscape, особенно когда речь заходит о среде Netscape ONE (Open Networked Environment - открытая среда для сетевых взаимодей-ствий).

Netscape ONE служит межплатформенной средой разработки, объединяющей множество различных технологий создания программных продуктов для Web. В ее основу положена инфраструктура LiveConnect, обеспечивающая взаимодействие между средствами Java, JavaScript и внешними модулями Netscape. Благодаря ей можно составлять сценарии для обновления Java-апплет, создавать внешние модули Netscape, взаимодейст-вующие с Java -апплетами, и составлять Java-апплеты, которые вызывают функции, хранящиеся в сценариях. LiveConnect представляет собой мощное, новаторское решение. Но, фактически, это не какая-то отдельная технология, а скорее некоторая надстройка для уже существующих инструментов, таких, как JavaScript. Таким образом, при создании сценариев, предусматривающих взаимодействие с Java-апплетами и внешними модулями Netscape, вы используете LiveConnect-надстройку к JavaScript.

Jscript корпорации Microsoft

В Microsoft практически сразу осознали потенциал JavaScript и создали собственную версию этого языка сценариев - JScript, - изменив при этом отдельные его фундаментальные положения. Но JScript также и полномасштабная система для разработок в Web. Подобно тому как JavaScript тесно взаимосвязан с технологической моделью Netscape, язык JScript тесно интегрирован в модель Microsoft. В результате была достигнута всесторонняя реализация JavaScript с рядом специфических дополнений, ориентированных на браузер Internet Explorer. Инфраструктуры объектов в JScript и JavaScript аналогичны, а способ применения JScript для Web-страниц такой же, как у JavaScript.

Однако за внешним сходством этих объектных инфраструктур скрываются существенные различия в том, как создаются и работают объектные модели JScript и JavaScript. В спецификации JScript задаются базовые функциональные свойства языка и основная инфраструктура его объектов; спецификация дополняется средствами объектной модели Internet Explorer для обслуживания сценариев. Именно за cчет этой надстройки предоставляется львинная доля возможностей JScript. Видите разницу: раздельная схема из базовых функций и средств объектной модели браузера, с одной стороны, и интегрированная модель Netscape, где базовые функции тесно переплетены с предлагаемой инфраструктурой объектов, с другой. Ясно, что в Microsoft выбрали не просто иной путь для реализации JScript, а более прогрессивное направление.

Раздельное существование объектных моделей Internet Explorer и JScript позволяет корпорации Microsoft сделать ряд потрясающих вещей, одна из которых - открыть доступ к объектной модели Internet Explorer из предусмотренных в браузере языков сценариев других разновидностей (например, VBScript). Обновляя объектную модель Internet Explorer, Microsoft сразу же наращивает функциональные возможности как JScript, так и VBScript. Эта же объектная модель служит составной частью архитектуры ActiveX корпорации Microsoft.

ActiveX, как и LiveConnect, является инфраструктурой, обеспечивающей взаимодействие различных технологий. Но в отличие от LiveConnect в ней используется расширенный интерфейс OLE, позволяющий связывать элементы управления ActiveX, сценарии и Java-апплеты. Хотя технология OLE - вещь уже давно известная, ее внедрение в инструментарий для Internet стало знаменательным новаторским решением, которое в сочетании с JScript открывает перспективу создания Web-страниц, обладающих самыми широкими возможностями: средствами виртуальной реальности, исчерпывающим управлением видеоданными, синхронным звуковым сопровождением и даже реализацией видеоигр. Если посмотреть глубже, то в JScript имеются интерфейсы и ссылки, позволяющие связать воедино все необходимые элементы. Широчайшая популярность ActiveX приносит дополнительные очки языку JScript в его конкурентной борьбе с JavaScript. Таким образом, если в своих сценариях вы собираетесь использовать в полном объеме возможности ActiveX, то необходим именно JScript. Это справедливо даже с учетом того, что в версии Navigator 4.0 предусмотрены средства, хотя и ограниченные, для работы с ActiveX.

Что касается серверов, объектная модель JScript присутствует в архитектуре платформы Active, реализуемой на любом соответствующем сервере корпорации Microsoft, в том числе Internet Information Server 3.0 и следующих версий.

JavaScript или Jscript

Многогранность и динамичность JavaScript и JScript объясняются их тесной взаимосвязью с соответствующими инфраструктурами. Так, выбор JavaScript идеален при работе с клиен-тами и серверами Netscape, а при использовании соответствующих систем корпорации Microsoft очевиден выбор языка JScript.

В условиях корпоративной интрасети можно заранее предусмотреть, с какими клиентами и серверами придется иметь дело. Однако при работе в Web вы не можете знать, кто обратится к вашему узлу. Поэтому стоит разобраться в достоинствах и недостатках обоих языков, что позволит сделать обоснованный выбор между ними.

При сравнении базовых функциональных средств JavaScript и JScript оказывается, что они почти идентичны, особенно с точки зрения синтаксиса и набора операторов. В таблице 1 приведен список операторов, предусмотренных в обоих языках. Если вы хоть немного работали с Java или Си/Си++, то большинство операторов в таблице будут вам хорошо знакомы.

Таблица 1

Арифметические операторы

+

Сложение

-

Вычитание

*

Умножение

/

Деление

++

Приращение на единицу

-

Уменьшение на единицу

-

Унарный минус

%

Взятие модуля

Операторы присваивания

=

Присваивание значения

+=

Увеличение на заданную величину

-=

Уменьшение на заданную величину

*=

Умножение на заданную величину

/=

Деление на заданную величину

%=

Взятие модуля заданной величины

&=

Поразрядное логическое И с заданной величиной

|=

Поразрядное логическое ИЛИ с заданной величиной

Поразрядные логические операторы

&

Поразрядное логическое И

|

Поразрядное логическое ИЛИ

^

Поразрядное логическое сложение по модулю 2 (XOR)

~

Поразрядное отрицание (инверсия)

<<

Поразрядный сдвиг влево

>>

Поразрядный сдвиг вправо

>>>

Поразрядный сдвиг вправо с заполнением нулями

Операторы сравнения

==

Эквивалентность сравниваемых объектов

!=

Не равно

>

Больше

>=

Больше или равно

<

Меньше

<=

Меньше или равно

Логические операторы

&&

логическое И

||

логическое ИЛИ

!

логическое отрицание

В таблице 2 перечислены встроенные функции и средства управления ходом выполнения, имеющиеся в JavaScript и JScript. Здесь JavaScript выглядит лучше - благодаря появлению в его новой версии для Navigator 4.0 таких конструкций и элементов, как select/switch case, циклы do-while и метки.

Таблица 2

+ ДА - НЕТ

JSCRIPT

JAVASCRIPT

ВСТРОЕННЫЕ ФУНКЦИИ

EVAL()

+

+

ESCAPE() / UNESCAPE()

+

+

ISNAN()

+

-

PARSEINT() / PARSEFLOAT()

+

+

TAINT() / UNTAINT()

-

+

УПРАВЛЕНИЕ ХОДОМ

ВЫПОЛНЕНИЯ ЦИКЛ FOR

+

+

ЦИКЛ FOR EACH / IN

+

+

IF ... THEN ... ELSE

+

+

SELECT / SWITCH CASE

-

+

ЦИКЛ WHILE

+

+

ЦИКЛ DO WHILE

-

+

ФУНКЦИЯ BREAK / EXIT

+

+

GOTO (МЕТКИ)

-

+

В разделе Встроенные функции приведены базовые средства обоих языков. Они предназначены для выполнения общих операций, например интерпретации записанных выражений, преобразования в допустимый формат адресов URL и преобразования строковых переменных в числовые. Как вы можете видеть, только в JavaScript содержатся функции taint/intaint (установка/снятие пометок на необходимость разрешения при пересылке данных). Когда функция taint активизирована, можно преодолеть запрет на доступ из сценариев к списку History вашего браузера; теперь ваши сценарии могут извлечь все реальные адреса URL, куда обращался пользователь.

Средства taint также позволяют в сценариях получать данные из документов, записанных на разных доменах. Так, сценарий из документа, взятого с вашего домена и показанного в одной секции окна, может получить ссылки, изображения и объекты из документа, взятого с иного домена и отображаемого в другой секции окна. Поскольку средства taint предназначены для защиты данных, они используются в интрасетях или там, где требуется повышенная безопасность, и начинают работать, если задать конкретную переменную среды.

В разделе Управление ходом выполнения приведены способы организации ветвления хода выполнения сценария. Здесь очевидное преимущество за JavaScript . Однако имейте в виду: конструкции switch-case и do-while можно реализовать через более общие управляющие эелементы, которые содержит JScript.

Работа с объектами

JavaScript и JScript представляют собой объектно- ориентированные языки, и путем внимательного изучения их объектных моделей удается узнать много полезного. Хотя первоначально задумывалось, что обе модели будут совместимы между собой, дальнейшее развитие языков пошло в разных направлениях. В итоге получилось, что наборы объектов обоих языков несколько отличаются. Это хорошо видно, если взглянуть в таблице 3. Здесь дается перечень объектов и проводится их сравнение; также указывается, когда одноименные JScript- и JavaScript-объекты имеют между собой различия. При просмотре таблицы помните, что ее данные соответствуют спецификациям JavaScript 1.2 и JScript 2.0. Приложение 3 дает четкую картину того, что общего у этих моделей и в чем они различаются, и может служить по-лезным руководством при разработке новых сценариев для Internet Explorer и Netscape Navigator.

Таблица 3

ОБЪЕКТ

ПРЕДУСМОТРЕН В JSCRIPT

БАЗОВЫЙ

НАБОР ОБЪЕКТОВ JSCRIPT *

ПРЕДУСМОТРЕН В JAVASCRIPT

ОДИНАКОВЫЙ НАБОР СВОЙСТВ И МЕТОДОВ

В JSCRIPT ОТСУТСТВУЕТ, НО ПРИСУТСТВУЕТ В ФОРМАХ

ОПИСАНИЕ

ANCHOR

+

&NBSP;

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ОБЩЕЕ СВОЙСТВО NAME.

APPLET

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ТЭГА <OBJECT>.

AREA

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ОБЪЕКТАМИ СО ССЫЛКАМИ.

ARRAY

+

+

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С МАССИВАМИ.

BUTTON

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С НАЖИМАЕМЫМИ КНОПКАМИ. **

CHECKBOX

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С КНОПКАМИ-ФЛАЖКАМИ. **

DATE

-

+

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ О ДАТЕ И ВРЕМЕНИ.

DOCUMENT

+

&NBSP;

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ОСТУПА К ИДЕНТИФИКАТОРЫ)

EVENT

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С JAVASCRIPT 1.2.

FILEUPLOAD

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ПОЛЯМИ, ГДЕ ВВОД ЗАГРУЖАЕМОГО ФАЙЛА. **

FORM

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ФОРМАМИ НА WEB-СТРАНИЦАХ. ХОТЯ В JSCRIPT НЕ ПРЕДУСМОТРЕНЫ МЕТОД RESET() И РЕАКЦИЯ НА СОБЫТИЕ ONRESET, JSCRIPT МОЖЕТ РАБОТАТЬ С ОБЪЕКТАМИ, ВСТРОЕННЫМИ С ПОМОЩЬЮ ТЭГА <OBJECT> ЧЕРЕЗ ОБЪЕКТ FORM. В JAVASCRIPT ТЭГ <OBJECT> ПОКА НЕ ПРЕДУСМОТРЕН.

FRAME

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С WEB-СТРАНИЦАМИ, ИМЕЮЩИМИ РАЗБИВКУ НА СЕКЦИИ. В JSCRIPT НЕ ПРЕДУСМОТРЕНЫ МЕТОДЫ ONERROR, FOCUS(), BLUR(), SCROLL(), ONBLUR=, ONFOCUS=. В JAVASCRIPT НЕ ОБСЛУЖИВАЕТСЯ МЕТОД NAVIGATE().

FUNCTION

+

&NBSP;

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К СВОЙСТВАМ ФУНКЦИЙ.

HIDDEN

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ЭЛЕМЕНТАМИ, НЕ ОТОБРАЖАЕМЫМИ В ОКНЕ. **

HISTORY

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К СПИСКУ HISTORY БРАУЗЕРА (ПЕРЕЧЕНЬ АДРЕСОВ-ОБРАЩЕНИЙ). ПОСКОЛЬКУ В JSCRIPT НЕ ДОПУСКАЕТСЯ ЗАДАНИЕ ПОМЕТОК НА ПОЛУЧЕНИЕ РАЗРЕШЕНИЯ ПРИ ПЕРЕСЫЛКЕ ДАННЫХ (DATA TAINTING), В НЕМ НЕ ПРЕДУСМОТРЕНА ОБРАБОТКА СВОЙСТВ CURRENT, NEXT И PREVIOUS.

IMAGE

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ИЗОБРАЖЕНИЯМИ НА WEB-СТРАНИЦАХ.

LAYER

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С МНОГОСЛОЙНЫМИ ОТОБРАЖЕНИЯМИ ДОКУМЕНТОВ; ВВЕДЕН В ВЕРСИИ JAVASCRIPT 1.2.

LINK

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ МАНИПУЛЯЦИЙ С ГИПЕРТЕКСТОВЫМИ ССЫЛКАМИ НА WEB-СТРАНИЦЕ. В JAVASCRIPT НЕ ПРЕДУСМОТРЕНА ОБРАБОТКА СОБЫТИЯ ONMOUSEMOVE, ПОЗВОЛЯЮЩЕГО ПОЛУЧИТЬ КООРДИНАТЫ (В ПИКСЕЛАХ) УКАЗАТЕЛЯ МЫШИ И ИНФОРМАЦИЮ О СОБЫТИЯХ ЩЕЛЧКОВ МЫШИ НАД ОБЪЕКТАМИ СО ССЫЛКАМИ. В JSCRIPT НЕ ПРЕДУСМОТРЕНА ОБРАБОТКА СОБЫТИЯ ONMOUSEOUT=.

LOCATION

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ПОЛНОМУ АДРЕСУ URL ДЛЯ ДОКУМЕНТА ИЗ УКАЗАННОГО ОКНА. ХОТЯ В JSCRIPT НЕ ПРЕДУСМОТРЕНЫ МЕТОДЫ RELOAD() И REPLACE(), ДЛЯ ЗАГРУЗКИ ДОКУМЕНТОВ МОЖНО ПРИМЕНИТЬ МЕТОД NAVIGATE() НУЖНОГО ОКНА И ОБЪЕКТ FRAME.

MATH

-

+

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ВЫПОЛНЕНИЯ САМЫХ РАСПРОСТРАНЕННЫХ МАТЕМАТИЧЕСКИХ ОПЕРАЦИЙ.

NAVIGATOR

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К ИНФОРМАЦИИ О БРАУЗЕРЕ ПОЛЬЗОВАТЕЛЯ. В JSCRIPT НЕ ПРЕДУСМОТРЕНЫ МЕТОДЫ JAVAENABLED(), TAINTENABLED(), MIMETYPES[] И PLUGINS[].

MIMETYPE

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К ИНФОРМАЦИИ ОБ ОБСЛУЖИВАЕМЫХ БРАУЗЕРОМ MIME-ТИПАХ.

PASSWORD

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ПОЛЯМИ, СЛУЖАЩИМИ ДЛЯ ВВОДА ПАРОЛЯ. **

PLUGIN

-

&NBSP;

+

&NBSP; &NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ДОСТУПА К ИНФОРМАЦИИ О ПОДКЛЮЧАЕМЫХ ВНЕШНИХ МОДУЛЯХ БРАУЗЕРА.

RADIO

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С КНОПКАМИ-ПЕРЕКЛЮЧАТЕЛЯМИ. **

RESET

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С КНОПКАМИ RESET (ОЧИСТИТЬ). **

SELECT

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ СО СПИСКОВЫМИ МЕНЮ. ** В JSCRIPT НЕ ПРЕДУСМОТРЕНО СВОЙСТВО TYPE; В JAVASCRIPT НЕ ПРЕДУСМОТРЕНЫ СВОЙСТВО FORM И МЕТОДЫ OPTIONS.NAME[] И OPTIONS.LENGTH[].

STRING

-

+

+

+

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ СО СТРОКОВЫМИ ЗНАЧЕНИЯМИ.

SUBMIT

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С КНОПКАМИ SUBMIT (СДЕЛАНО). **

TEXT

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ПОЛЯМИ ТЕКСТОВОГО ВВОДА. ** В JSCRIPT НЕ ПРЕДУСМОТРЕНО СВОЙСТВО TYPE, А В JAVASCRIPT - СВОЙСТВО FORM.

TEXTAREA

+

&NBSP;

+

-

+

ИСПОЛЬЗУЕТСЯ ДЛЯ РАБОТЫ С ПОЛЯМИ МНОГОСТРОЧНОГО ТЕКСТОВОГО ВВОДА. **

WINDOW

+

&NBSP;

+

-

&NBSP;

ИСПОЛЬЗУЕТСЯ ДЛЯ ОБСЛУЖИВАНИЯ ИЛИ СОЗДАНИЯ ОКНА БРАУЗЕРА. В JAVASCRIPT НЕПРЕДУСМОТРЕН МЕТОД NAVIGATE(). В JSCRIPT НЕ ПРЕДУСМОТРЕНЫ МЕТОДЫ BLUR(), CLEARINTERVAL(), FOCUS(), MOVEBY(), MOVETO(), RESIZEBY(), RESIZETO(), SCROLL(), SCROLLBY(), SCROLLTO(), SETINTERVAL() И ONBI.

Сценарии, которые могут работать в разных браузерах

В настоящее время ежедневная численность работающих с Web составляет более 60 млн. человек, из которых 30-35% используют Internet Explorer, а 55-60% - Netscape Navigator. Поскольку эти браузеры занимают доминирующие позиции на рынке, наша цель - создать сценарии, которые будут восприниматься обеими системами. Для этого нужно использовать только общие элементы объектных моделей JScript и JavaScript . На первый взгляд все очень просто. Однако лишь очень немногие владельцы Web-узлов действительно понимают имеющиеся между JScript и JavaScript различия, и уж совсем мало таких, кто может четко обозначить то общее, что у них есть. Но теперь, имея на вооружении данные таблиц 2 и 3, можно приступать к составлению сценариев, которые будут работать в среде как Internet Explorer, так и Netscape Navigator.

При разработке необходимо помнить о постоянном совершенствовании спецификаций JScript и JavaScript. С выходом очередной версии Internet Explorer или Netscape Navigator можно ожидать появления новых функций в соответствующем языке. Если вы хотите использовать конкретное свойство, присутствующее только в одной спецификации, необходимо, чтобы сценарий либо выда-вал сообщение о наличии функций, не предусмотренных в браузере пользователя, либо корректно работал в обоих браузерах.

Как это сделать? Секрет в том, чтобы организовать ветвление внутри сценария: первая ветвь команд будет исполняться браузером Internet Explorer, другая - Netscape Navigator . Поскольку до начала обработки любой функции браузер не проверяет ее на допустимость, наличие посторонних функций в сценарии не приведет к сообщению об ошибке. В примере 4 показан прототип сценария, который я постоянно использую для Web-страниц; он не приостанавливает свою работу ни в среде Internet Explorer, ни Netscape Navigator . При изучении текста сценария вы можете видеть, как параметр Navigator. appName позволяет узнать имя браузера, чтобы затем передать управление соответствующей функции.

Пример 1

<SCRIPT LANGUAGE="JavaScript"> <!-- // присвоить значения переменным browserName = "" browserName = navigator.appName function shield() { if (browserName == "Microsoft Internet Explorer") { ieCall() } else if (browserName == "Netscape") { ncCall } else genCall() } function ieCall() { // вставьте операторы и вызовы функций, предусмотренные для Internet Explorer и JScript } function ncCall() { // вставьте операторы и вызовы функций, предусмотренные для Netscape Navigator и JavaScript } function genCall() { // запасной вариант для других браузеров, "понимающих" сценарии JavaScript. Сюда рекомендуется вставлять наиболее общие операторы и вызываемые функции. } // --> </SCRIPT> Также можно предусмотреть выполнение функций, уникальных для конкретных версий браузеров. Для этого следует проверять имя браузера и сведения о его версии с помощью параметров Navigator.appName и Navigator.appVersion. Здесь перед вызовом нужной функции проверяются оба параметра. Однако текст сценария будет получаться более запутанным; один из способов его упрощения - брать имя браузера и данные о версии из параметра Navigator. userAgent, который содержит сводную информацию о браузере. В этом случае потребуется проверка только одного параметра вместо двух.

Кроме того, вы можете обеспечить, чтобы выполнялись только те сценарии, которые соответствуют конкретной версии JavaScript, предусмотренной браузером пользователя. Для этих целей применяется тэг SCRIPT, например:

<SCRIPT LANGUAGE="JavaScript"> <SCRIPT LANGUAGE="JavaScript1.1"> <SCRIPT LANGUAGE="JavaScript1.2"> Но учтите: поскольку Internet Explorer не различает версий JavaScript 1.1 или JavaScript 1.2, обычно лучше пользоваться функцией, продемонстрированная в приложение 4. Тогда браузеры любого типа, где предусмотрены сценарии JavaScript, сумеют извлечь максимум информации, содержа-щейся на вашей Web-странице.

При изучении работы этого сценария обратите внимание, что в Navigator сначала полностью загружается HTML-документ, а лишь потом начинается обработка сценария. В Internet Explorer, наоборот, сразу приступают к делу и сценарий начинает исполняться еще до того, как закончится загрузка всей страницы. Видно, что процедуры загрузки и отображения Web-страниц в браузерах Navigator и Internet Explorer работают поразному: Navigator последовательно выводит элементы страницы по мере их получения, а Internet Explorer сначала строит структуру страницы, а затем начи-нает показывать ее элементы.

В примере 5 подробно описан пример, который работает в часто используемых браузерах.

Пример 5

<HTML> <HEAD> <SCRIPT> <!-- hide //скрыть от старых браузеров // присвоить значения переменным var pos = 0; // начальная позиция var move = true; // движение var direction= false; // направление var mie=false; // проверяем браузер if(navigator.appName.indexOf("Microsoft")!=-1) {mie=true;} // Функция отвечающая за движение и направление function moveNclip() { // перемещение вперед if (move & direction ) { pos-=1 if (pos < -986) move=false; if(!mie) document.layers["clippingLayer"].layers["imgLayer"].top= pos; // обращение к вложенному слою imgLayeir else document.all.imgLayer.style.pixelTop= pos; // обращение к стилю imgLayeir } // перемещение назад if (!move & !direction ) { pos+=1 if (pos > 200) move=true; if(!mie) document.layers["clippingLayer"].layers["imgLayer"].top= pos; else document.all.imgLayer.style.pixelTop= pos; } } // Функция изменяющая движение и направление function StopStart(par){ if (par == 0) { direction= false; move = false;} if (par == 1) {move = false; direction= true;} if (par == 2) { direction= true; move = true;} } function DrowPicture(){ // если Netscape Navigator создаем слои if(!mie){ s='<CENTER><ILAYER NAME="clippingLayer" CLIP="0,0,1000,185"><ILAYER NAME="imgLayer" TOP=0 LEFT=0>' s+='<IMG NAME=davinci SRC="text1.gif"></ILAYER></ILAYER></CENTER>' s+='<LAYER TOP=230 ><CENTER><FORM>' s+='<INPUT TYPE="button" VALUE="&lt;&lt;" onClick="StopStart(0);">' s+='<INPUT TYPE="button" VALUE="STOP" onClick="StopStart(1);">' s+='<INPUT TYPE="button" value="&gt;&gt;" onClick="StopStart(2)"><p>' s+='<INPUT TYPE="button" VALUE="CLOSE" onClick="window.close()"></FORM></CENTER></LAYER>' } // если Internet Explorer создаем стили if (mie){ s='<CENTER><DIV ID="imgLayer" STYLE="position:absolute; top:0;"><IMG SRC="text1.gif"></DIV></CENTER>' s+='<DIV ID="dummy" STYLE="position:absolute; top:185; left:0; height:800; background-color:bisque"></DIV>' s+='<DIV ID="ButtonsForm" STYLE="position:absolute; top:220;" ><CENTER><FORM>' s+='<INPUT TYPE="button" VALUE="&lt;&lt;" onClick="StopStart(0);">' s+='<INPUT TYPE="button" VALUE="STOP" onClick="StopStart(1);">' s+='<INPUT TYPE="button" VALUE="&gt;&gt;" onClick="StopStart(2)"><p>' s+='<INPUT TYPE="button" VALUE="CLOSE" onClick="window.close()"></FORM></CENTER></DIV>' } document.writeln(s); } // --> </SCRIPT> </HEAD> <BODY BGCOLOR="bisque" onLoad="setInterval('moveNclip()', 10);"> <SCRIPT> DrowPicture(); </SCRIPT> </BODY> </HTML>

ИТОГИ

В ходе детального сравнения JScript и JavaScript выяснилось, что между этими версиями существует много и сходств, и различий, причем выявить бесспорного победителя не удалось. Оба языка обладают всесторонне развитыми средствами для обслуживания клиента и сервера; в каждом из них имеются свои уникальные возможности, функции, объекты. Любая из спецификаций, несомненно, сможет обеспечить достойное решение задач, возлагае-мых на сценарии в Web.

Тем не менее существуют ситуации, когда предпочтительным будет выбор одного из языков, особенно если речь идет о корпоративной интрасети. Если вы готовите публикации в интрасети с использованием сервера Microsoft Web, ориентированного на технологию ActiveX, то явных симпатий заслуживают JScript и Internet Explorer - это даст возможность взаимодействовать с JScript- и ActiveX-средствами сервера. Если же в вашей интрасети работает сервер Netscape SuiteSpot Web, то очевидное преимущество получают JavaScript и Navigator - только при таком выборе будут доступны технологические средства JavaScript и Netscape ONE, предоставляемые сервером.

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

JavaScript в Navigator 3.0

Резюме новых особенностей JavaScript

Навигатор JavaScript описывает

Java аплеты, plug-ins и надежность

Новые объекты

Новые свойства

Новые методы

Формы и элементы формы

События и обработчики событий

Теги HTML и атрибуты

Особенности языка JavaScript 1.1

Ссылки

Новые особенности JavaScript Измененные особенности JavaScript
  • Applet
  • Area
  • arguments
  • array
  • atan2
  • blur
  • border
  • button
  • complete
  • checkbox
  • close (window object)
  • Date
  • defaultSelected
  • description
  • document
  • enabledPlugin
  • filename
  • fileUpload
  • focus
  • form
  • frame
  • function
  • hash
  • height
  • hidden
  • host
  • hostname
  • href
  • hspace
  • Image
  • index
  • isNaN
  • javaEnabled
  • join
  • length
  • link (links array)
  • location
  • lowsrc
  • Math
  • mimeTypes
  • name
  • navigator
  • onAbort
  • onBlur
  • onClick
  • onError
  • onFocus
  • onLoad
  • onMouseOut
  • onMouseOver
  • onReset
  • onSubmit
  • opener
  • Option
  • Password
  • pathname
  • Plugin
  • plugins array
  • port
  • protocol
  • prototype
  • Radio
  • random
  • reload
  • replace
  • reset (метод)
  • reset (объект)
  • reverse
  • scroll
  • search
  • Select
  • selected
  • sort
  • split
  • src
  • String
  • submit
  • suffixes
  • taint
  • target
  • text object
  • text property
  • textarea
  • toString
  • type
  • typeof
  • untaint
  • value
  • void
  • vspace
  • width
  • window
  • Applet

    <<New.>>

    Объект. Включает Java аплет в web - страницу.

    HTML синтаксис

    <APPLET CODE=classFileName HEIGHT=height WIDTH=width MAYSCRIPT [NAME=appletName] [CODEBASE=classFileDirectory] [ALT=alternateText] [ALIGN="left"|"right"| "top"|"absmiddle"|"absbottom"| "texttop"|"middle"|"baseline"|"bottom"] [HSPACE=spaceInPixels] [VSPACE=spaceInPixels]> [<PARAM NAME=parameterName VALUE=parameterValue>] [ ... <PARAM>] </APPLET>

    HTML атрибуты

    CODE=classFileName определяет имя файла апплета, которое вы хотите зарузить. Это имя файла должно иметь расширение .class.

    HEIGHT=height внутри браузера определяет высоту апплета в пикселах.

    WIDTH=width определяет ширину апплета в пикселах.

    MAYSCRIPT позволяет апплету обращаться к JavaScript.

    NAME=appletName определяет имя апплета. вы можете обращаться к этому значению, используя свойство name.

    CODEBASE=classFileDirectory определяет направление файла .class, если это отличается от направления, которое содержит HTML страницу.

    ALT=alternateText определяет текст, чтобы показать браузерам, которые не поддерживают тег <APPLET>.

    ALIGN=alignment определяет выравнивание небольшого приложения на HTML странице.

    HSPACE=spaceInPixels определяет в пикселах интервал по горизонтали апплета внутри окна.

    VSPACE=spaceInPixels определяет в пикселах интервал по вертикали апплета внутри окна.

    <PARAM> Определяет параметры апплета.

    NAME=parameterName определяет имя параметра.

    VALUE=parameterValue определяет значение параметра.

    Синтаксис

    Использование объекта апплет:

      
    1. AppletName.propertyName 
    2. Document.applets [index] .propertyName 

    Параметры

    AppletName - значение атрибута NAME объекта applet.

    index - целое число, представляющее апплет в документе, содержащем имя объекта applet.

    PropertyName - одино из свойств, внесенных в список ниже.

    Свойства

    document

    Выполненный в

    Навигатор 3.0

    Описание

    Автор HTML страницы должен разрешить апплету обращаться к JavaScript, определяя атрибут MAYSCRIPT тега APPLET. Это предотвращает апплет от доступа JavaScript на странице без ведома автора страницы. Например, чтобы допустить апплет musicPicker.class к JavaScript на вашей странице, определите следующеее:

    <APPLET CODE = "musicPicker.class" WIDTH=200 HEIGHT=35 NAME="musicApp" MAYSCRIPT>

    Массив applet

    вы можете ссылаться на апплеты, используя массив applet. Этот массив содержит все объекты Applet (тег <APPLET>) в документе в исходном порядке. Например, если документ содержит три апплета, то эти апплеты отражены как document.applets [0], document.applets [1], и document.applets [2].

    Использование массива applet:

      
    1. Document.applets [index] 
    2. Document.applets.length 
    
    index - целое число, представляющее апплет в документе, содержащем имя объекта Applet.

    Чтобы получить число апплетов в документе, используйте свойство length:

    document.applets.length

    Элементы в массиве applets только для чтения. Например, утверждение document.applets [0] = "myApplet.class" не имеет никакого результата.

    Свойства

    Объект Applet имеет следующие свойства:

    Свойство Описание
    name Отражает атрибут NAME

    Методы

  • Отсутствуют.

    Обработчики Результата

  • Отсутствуют.

    Примеры

    Следующий пример запускает апплет "musicApp":

    <APPLET CODE="musicSelect.class" WIDTH=200 HEIGHT=35 NAME="musicApp" MAYSCRIPT> </APPLET>

    Смотрите также

    Объекты MimeTypes, Plugin


    Area

    <<New.>>

    Объект. Определяет область изображения как отображение изображения. Когда пользователь нажимает область, ссылка гипертекста области загрузится в ее целевое окно.

    HTML синтаксис

    Чтобы определять область, используйте стандарт HTML синтаксис с добавлением обработчиков событий onMouseOut и onMouseOver:

    <MAP NAME="mapName"> <AREA [NAME="areaName"] COORDS="x1,y1,x2,y2,..."|"x-center,y-center,radius" HREF="location" [SHAPE="rect"|"poly"|"circle"|"default"] [TARGET="windowName"] [onMouseOut="handlerText"] [onMouseOver="handlerText"]> </MAP>

    HTML атрибуты

    NAME = "mapName" определяет имя отображения. вы можете определить это имя отображения в атрибуте USEMAP тега <IMG>.

    AREA определяет область изображения как отображение изображения.

    NAME = "areaName" определяет имя объекта Area . Этот атрибут не отражен в JavaScript (вы не можете обратиться к объекту Area по имени).

    COORDS определяет координаты отображения изображения.

    HREF = "location" определяет URL документа, чтобы загрузить, когда пользователь нажимает область. Любая область изображения, которая не имеет атрибута HREF, не делает функцию как гиперсвязь. Этот атрибут требуется, если вы включаете обработчики результата onMouseOut и onMouseOver.

    SHAPE определяет форму отображения. "default" определяет область как невыполнть. Если опущено, используется "rect".

    TARGET = "windowName" определяет окно, в которое будет загружена связь. windowName может быть существующее окно; это может быть имя фрейма, указанное в теге <FRAMESET>; или это может быть один из литералов фрейма name _top, _parent, _self, или _blank; это не может быть выражение JavaScript (например, это не может быть parent.frameName или windowName.frameName).

    Синтаксис

    Использование свойств объекта Area:
      
    1. AreaName.propertyName 
    2. Document.links [index] .propertyName 

    Параметры

    AreaName - значение атрибута NAME объекта Area.

    index - целое число, представляющее область в документе, содержащее имя объекта Area

    PropertyName - один из свойств, описанных ниже.

    Свойства

    document

    Выполненный в

    Навигатор 3.0

    Описание

    Объекты Area находятся в массиве links. вы не можете обратиться к объекту Area по имени; вы должны использовать массив links. Например, если документ содержит три объекта области, эти объекты отражены как document.links [0], document.links [1], и document.links [2]. Для информации относительно массива links, смотрите объект Link.

    Атрибут HREF требуется для объекта Area чтобы использовать обработчики результата onMouseOut или onMouseOver. Однако, если вы создаете Area для изображения и не хотите, чтобы изображение связалось с ссылкой гипертекста когда нажато, определите JavaScript функцию в области аттрибута HREF, используя javascript: URL протокол. Например, если пользователь нажимает следующий объект Area, выполняется функция onTop.

    <MAP NAME="worldMap"> <AREA NAME="topWorld" COORDS="0,0,50,25" HREF="javascript-onTop()" onMouseOver="self.status='You are on top of the world'; return true" onMouseOut="self.status='You have left the top of the world'; return true"> </MAP>

    Если вы хотите, чтобы связь области ничего не делала, используйте javascript:void (0) в атрибуте HREF. Когда пользователь нажимает следующий объект Area, ничего не случиться:

    <MAP NAME="worldMap"> <AREA NAME="topWorld" COORDS="0,0,50,25" HREF="javascript-void(0)" onMouseOver="self.status='You are on top of the world'; return true" onMouseOut="self.status='You have left the top of the world'; return true"> </MAP>

    свойства

    Объект Area имеет следующие свойства:

    Свойства Описание
    hash Определяет имя якоря в URL
    host Определяет хост и имя области, или адрес IP, сетевого хоста
    hostname Определяет хост части URL
    href Определяет целый URL
    pathname Определяет часть пути URL
    port Определяет порт связи, который сервер использует для связи
    protocol Определяет начало URL, включая двоеточие (:)
    search Определяет запрос
    target Отражает атрибут TARGET

    Методы

  • Отсутствуют

    Обработчики событий

  • OnMouseOut
  • OnMouseOver

    Примеры

    Пример 1.Обработчики событий OnMouseOver и onMouseOut.Следующий пример показывает изображение globe.gif. Изображение использует отображение изображения, которое определяет области для верхней и нижней половин изображения. OnMouseOver и onMouseOut обработчики событий показывают различные сообщения строки состояния в зависимости от местоположения мыши, и оставляет либо верхную либо нижную половины изображения. Атрибут HREF требуется при использовании обработчиков событий onMouseOver и onMouseOut, но в этом примере, изображение не нуждается в гипертекстовой связи , так что атрибут HREF выполняет javascript:void (0), который ничего не делает (для получения дополнительной информации смотрите оператор void).

    <MAP NAME="worldMap"> <AREA NAME="topWorld" COORDS="0,0,50,25" HREF="javascript:void(0)" onMouseOver="self.status='You are on top of the world'; return true" onMouseOut="self.status='You have left the top of the world'; return true"> <AREA NAME="bottomWorld" COORDS="0,25,50,50" HREF="javascript:void(0)" onMouseOver="self.status='You are on the bottom of the world'; return true" onMouseOut="self.status='You have left the bottom of the world'; return true"> </MAP> <IMG SRC="globe.gif" ALIGN="top" HEIGHT="150" WIDTH="150" USEMAP="#worldMap">

    Пример 2. Обращение к объекту через массив link. Следующийпример обращается к свойству href первого объекта Area, показанного в Примере 1.

    Document.links [0] .href

    Пример 3. Использование onClick с атрибутом HREF. Следующий пример использует атрибут HREF объекта Area, чтобы выполнить JavaScript функцию. Продемонстрированное изображение colors.gif, показывает два типовых цвета. Верхняя половина изображения - цветом "antiquewhite", а нижняя половина белая. Когда пользователь нажимает на верхную или нижную половины изображения, функция setBGColor изменяет цвет фона документа в цвет, выбранному пользователем.

    <SCRIPT> function setBGColor(theColor) { document.bgColor=theColor } </SCRIPT> Выберите цвет фона этого документа <MAP NAME="colorMap"> <AREA NAME="topColor"COORDS="0,0,50,25"HREF="javascript:setBGColor('antiquewhite')"> <AREA NAME="bottomColor" COORDS="0,25,50,50"HREF="javascript:setBGColor('white')"> </MAP> <IMG SRC="colors.gif" ALIGN="top" HEIGHT="50" WIDTH="50" USEMAP="#colorMap">

    Смотрите также

    Объект image Оператор void


    arguments

    << Измененный. >>

    Свойство arguments - свойство объекта function.

    Синтаксис

    Определять массив arguments изнутри объекта function:

      
    this.arguments [index]
    

    Собственность

  • Объект Функции

    array

    <<New.>>

    Объект. Позволяет вам создавать массивы и работу с ними.

    Синтаксис

    Создание объекта array :
      
    1. arrayObjectName = new Array () 
    2. arrayObjectName = new Array (arrayLength) 
    Использование объекта array :
      
    1. arrayObjectName.propertyName 
    2. arrayObjectName.methodName ( parameters) 

    Параметры

    arrayObjectName является либо именем нового объекта либо свойством существующего объекта.

    arrayLength - начальная длина массива. вы можете обращаться к этому значению, используя свойство length

    propertyName - один из свойств, описанных ниже.

    methodName - один из методов, описанных ниже.

    Свойства

    Отсутствуют.

    Выполненный в

    Navigator 3.0

    Описание

    Объект array - встроенный объект JavaScript.

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

    billingMethod = new array(5)

    Когда вы создаете массив, все его элементы первоначально недействительны. Следующий код создает массив из 25 элементов, затем присваивает значения первым трем элементам:

    musicTypes = new Array(25) musicTypes[0] = "R&B" musicTypes[1] = "Blues" musicTypes[2] = "Jazz

    Длина массива увеличивается, если вы приписываете значение элементу больше чем текущая длина массива. Следующий код создает массив нулевой длины, затем присваивает значение элементу 99, изменяя длину массива до 100.

    colors = new Array() colors[99] = "midnightblue"

    вы можете создавать плотный массив из двух или больше элементов, начинающихся с индекса 0, если вы определяете начальные значения для всех элементов. Плотный массив - это массив, в котором каждый элемент имеет значение. Следующий код создает плотный массив с тремя элементами:

    myArray = new Array("Hello", myVar, 3.14159)

    Свойства

    Объект array имеет следующие свойства:

    Свойства Описание
    length Отражает число элементов в массиве
    prototype Позволяет вам, добавлять свойства к объекту array.

    Методы

  • join
  • reverse
  • sort

    Обработчики событий

  • Отсутствуют. Встроенные объекты не имеют обработчиков событий.

    Примеры

    Следующий пример создает массив, msgArray, нулевой длины, затем присваивает значения msgArray [0] и msgArray [99], изменяя длину массива до 100.

    msgArray = new Array() msgArray [0] = "Hello" msgArray [99] = "world" if (msgArray .length == 100) // This is true, because defined msgArray [99] element. document.write("The length is 100.")

    Смотрите также примеры для обработчика событий onError.

    Смотрите также

    Объект image


    atan2

    <<New.>>

    Метод. Возвращает угол полярной координаты (r, тета) который соответствует указанной декартовой координате (x, y).

    Замечание: Этот метод существовал в 2.0, но не был описан.

    Синтаксис

      
    Math.atan2 (x, y)
     

    Параметры

    x является либо числовым выражением либо свойством существующего объекта, представляющие декартову координату x.

    y является либо числовым выражением либо свойством существующего объекта, представляющие декартову координату y.

    Метод

    Math

    Выполненный в

    Navigator 2.0

    Описание

    Метод atan2 возвращает числовое значение.

    Примеры

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

    function getAtan2(x,y) { return Math.atan2(x,y) }

    Если выполняется getAtan2 значения (90,15), то возвращается 1.4056476493802699; если выполняется значение (15,90), то возвращается 0.16514867741462683.

    Смотрите также

    Методы acos, asin, atan, cos , sin , tan


    blur

    <<Changed. >>

    Метод blur - метод объектов window и frame. Метод blur удаляет фокус из окна или фрейма. Передвижение фокуса посылает окно к фону в большинстве систем управления окнами.

    Синтаксис

      
    frameReference.focus () 
    windowReference.blur () 

    Параметры

    frameReference - способ только для фреймов, как описано в объекте frame.

    windowReference - способ только для окн, как описано в объекте window .

    Метод

  • frame
  • window

    border

    < <New. > >

    Свойство. Строка, определяющая ширину, в пикселях, границы изображения.

    Синтаксис

      
    imageName.border
     

    Параметры

    imageName является либо именем объекта image либо элементом в массиве image.

    Свойства

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойстов border отражает атрибут BORDER тега <IMG >. Для изображений, созданных при image (), значение свойства border - 0.

    border - свойство только для чтения.

    Примеры

    Следующая функция показывает значение свойства border изображения, если значение - не ноль.

    function checkBorder(theImage) { if (theImage.border==0) { alert('The image has no border!') } else alert('The image's border is ' + theImage.border) }

    Смотрите также

    Свойства height , hspace, vspace, width


    button

    < <Changed. > >

    Следующие свойства были добавлены к объекту button:

    Свойства Описание
    type Отражает атрибут TYPE


    checkbox

    < <Changed. > >

    Следующие свойства были добавлены к объекту checkbox :

    Свойства Описание
    type Отражает атрибут TYPE


    close (объект окна)

    < <Changed. > >

    Метод close закрывает только окна, открытые JavaScript использующие метод close. Если вы хотите закрыть любое другое окно, которое допускает пользователя, выбирают, закрывается ли окно. Это - элемент(размер элемента) безопасности(акции), чтобы предотвратить " бомбы почты " содержащий self.close (). Однако, если окно имеет только один документ (текущий) в его истории сеанса, завершение допускается без, любой подтверждает. Это - частный случай для одноразовых окон, которые должны открыться другие окна и затем распорядиться собой.


    complete

    < <New. > >

    Свойство. Логическое значение, которое указывает закончила ли Navigator загружать изображение.

    Синтаксис

      
    imageName.complete
     

    Параметры

    imageName является либо именем объекта image либо элементом в массиве image.

    Свойства

    image

    Выполненный в

    Navigator 3.0

    Описание

    complete - свойство только для чтения.

    Примеры

    Следующий пример показывает изображение и три переключателя. Пользователь может щелкать переключатели, чтобы выбрать, какое изображение показано. Щелчок другой кнопки позволяет пользователю, смотреть текущее значение complete собственности.

    <B>Choose an image:</B> <BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED onClick="document.images[0].src='f15e.gif'">F-15 Eagle <BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2" onClick="document.images[0].src='f15e2.gif'">F-15 Eagle 2 <BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3" onClick="document.images[0].src='ah64.gif'">AH-64 Apache <BR><INPUT TYPE="button" VALUE="Is the image completely loaded?" onClick="alert('The value of the complete property is ' + document.images[0].complete)"> <BR> <IMG NAME="aircraft" SRC="f15e.gif" ALIGN="left" VSPACE="10"><BR>

    Смотрите также

    Свойства lowsrc, src


    Date

    < <Changed. > >

    Следующие свойства были добавлены к объекту Date :

    Свойства Описание
    prototype Позволяет вам, добавлять свойства к объекту Date.


    defaultSelected

    < <Changed. > >

    Свойство defaultSelected - свойство объекта Option .

    Синтаксис

    Следующий синтаксис был добавлен для свойства defaultSelected:

     
    optionName.defaultSelected
     

    Параметры

    optionName - имя Select созданного при использование Option().

    Свойства

  • Объект Option

    description

    < <New. > >

    Свойство.

    Синтаксис

      
    1. navigator.mimeTypes [index] .description 
    2. navigator.mimeTypes[mimeTypeName].description 
    3. navigator.plugins [index] .description 
    4. navigator.plugins[pluginName].description  

    Выполненный в

    Navigator 3.0


    document

    < <Changed. > >

    Синтаксис

    Следующий синтаксис был добавлен для объекта document :

       
    <BODY > ... 
    [onBlur = "handlerText"] 
    [onFocus = "handlerText"] ... 
    </BODY > 

    Описание

    Обработчики событий OnBlur и onFocus определены в теге <BODY >, но - фактически обработчики событий для объекта window.

    Свойства

    Следующие свойства были добавлены к объекту document :

    Свойства Описание
    applet Массив, отражающий все applet в документе
    plugin Массив, отражающий все plugins в документе
    image Массив, отражающий все image в документе

    Следующие объекты - свойства объекта document

  • applet
  • area
  • image
  • plugin

    Дополнительное описание

    Не используйте локализацию как свойство объекта document ; используйте вместо свойство document.URL. Свойство document.location, которое является синонимом для document.URL, в будущем будет удален.

    вы можете очищать подокна документа (и устранять текст, формы элемента, и так далее, не восстанавливая изображение) используя document.close (); document.open (); document.write ().


    enabledPlugin

    < <New. > >

    Свойство. Возвращает ссылку к объекту Plugin для plug-in, который обращается к типу MIME, или NULL, если никакой plug-in не обращается к типу MIME.


    filename

    < <New. > >

    Свойство. Имя файла plug-in.

    Синтаксис

      
    1. navigator.plugins [ index] .filename 
    2. navigator.plugins [pluginName] .filename 

    Свойство

    plugin

    Выполненный в

    Navigator 3.0


    fileUpload

    < <New. > >

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

    HTML синтаксис

    Чтобы определять объект FileUpload, используйте стандарт HTML синтаксис:
       
    <INPUT 
    TYPE = "file" 
    NAME = "fileUploadName" >
     

    HTML атрибуты

    NAME = "fileUploadName" определяет имя объекта fileUpload (это - не имя файла, которое загружено). вы можете обращаться к этому значению, используя свойство name.

    Синтаксис

    Использование свойства объекта FileUpload:
      
    fileUploadName.propertyName
     

    Параметры

    fileUploadName - значение атрибута NAME объекта FileUpload.

    propertyName - один из свойств, описанных ниже.

    Свойства

    form

    Выполненный в

    Navigator 3.0

    Описание

    вы можете размещать объект FileUpload в форме, но вы не можете использовать JavaScript, чтобы изменить его в любое время.

    Свойства

    Объект FileUpload имеет следующие свойства:

    Свойства Описание
    name Отражает атрибут NAME
    value Отражает текущее значение файла загруженной области элемента; это соответствует имени файла. Это - свойство только для чтения.

    Методы

  • Отсутствуют.

    Обработчики событий

  • Отсутствуют.

    Примеры

    Следующий пример размещает объект FileUpload в форму и обеспечивает две кнопки, которые позволяют пользователю, показывать текущие значения свойств name и value.

    <FORM NAME="form1"> File to send: <INPUT TYPE="file" NAME="myUploadObject"> <P>Get properties<BR> <INPUT TYPE="button" VALUE="name" onClick="alert('name: ' + document.form1.myUploadObject.name)"> <INPUT TYPE="button" VALUE="value" onClick="alert('value: ' + document.form1.myUploadObject.value)"><BR> </FORM>

    Смотрите также

    Объект text


    focus

    < <Changed. > >

    Метод focus - метод объектов window и frame. Метод focus дает фокус окну или фрейму.

    Синтаксис

    Следующий синтаксис был добавлен для метода focus:

      
    frameReference.focus () 
    windowReference.focus () 

    Параметры

    frameReference - способ только для фрема, как описано в объекте frame.

    windowReference - способ только для окна, как описано в объекте window.

    Метод

  • frame
  • window

    form

    < <Changed. > >

    Следуещее было добавлено к синтаксису объекта form :

      
    [ OnReset = "handlerText"]
     

    Следующие объекты - свойства объекта form

  • fileUpload

    Следующие методы были добавлены к объекту form

  • reset

    Следующие обработчики событий были добавлены к объекту reset

  • onReset

    frame

    < <Changed. > >

    Синтаксис

    Следующий синтаксис был добавлен для определения обработчика событий onBlur, или onFocus для frameset (framesets - окна, которые имеют не-пустые массивы frame):

       
    <FRAMESET > ... 
    [<FRAME SRC = "locationOrURL" NAME="frameName" >] 
    [onBlur = "handlerText"] 
    [onFocus = "handlerText"] ... 
    <FRAMESET >
     

    Следующий синтаксис был добавлен для определения обработчика событий onBlur или onFocus для фрейма (для фреймов, вы не можете определять эти обработчики результата в HTML):

      
    frameReference.onblur=errorHandler 
    frameReference.onfocus=errorHandler 

    Параметры

    frameReference - только для фрейма, как описано в объекте frame .

    errorHandler - нулевое ключевое слово, имя функции обработки ошибок, либо переменная либо свойство, которое содержит нулевой или имеющий силу справочник по функциям.

    Описание

    Чтобы создавать обработчик событий onBlur или onFocus для фрейма, вы должны управлять свойством onblur или onfocus и определять их во всех нижних регистрах (вы не можете определять их в HTML).

    Обработчики событий

    Следующие обработчики событий были добавлены к framesets и объекту frame:

  • onBlur
  • onFocus

    function

    < <New. > >

    Объект. Определяет строку код JavaScript, которую нужно компилировать как функция.

    Синтаксис

      
    functionTarget = new Function ([arg1, arg2, ... argn], functionBody)
     

    Параметры

    functionTarget - имя переменной или свойство существующего объекта. Это может также быть объект, сопровождаемый именем обработчика событий нижнего регистра, типа window.onerror.

    arg1, arg2, ... argn - строковые аргументы, которые нужно использовать функцией как формальные имена аргумента.

    functionBody - строка, определяющая код JavaScript, который нужно компилировать как тело функции.

    Выполненный в

    Navigator 3.0

    Описание

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

    Определение переменной значения с объектом Function

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

    var setBGColor = new Function("document.bgColor='antiquewhite'")

    Чтобы вызывать объект Function , вы можете определить переменное имя, так если бы это была функция. Следующий код выполняет функцию, определенная как переменная setBGColor:

    var colorChoice="antiquewhite" if (colorChoice=="antiquewhite") {setBGColor()}

    вы можете присваивать функцию обработчику событий следующими способами:

    1. document.form1.colorButton.onclick=setBGColor 2. <INPUT NAME="colorButton" TYPE="button" VALUE="Change background color" onClick="setBGColor()">

    Создание переменной setBGColor показанный выше подобно объявлению следующей функции:

    function setBGColor() { document.bgColor='antiquewhite' }

    Назначение функцию как переменную подобно объявлению функции, но они имеют разногласия:

    Определение аргументов в объекте function

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

    Вар multFun = новая Функция ("x", "y", " возвращают x * y ")

    Остроковые аргументы "x" и "y" - формальные имена аргумента, которые используются в теле функции, " возвращают x * y ".

    Следующий код показывает различные способы как вызвать функцию multFun:

    var theAnswer = multFun (7,6) document.write (" 15*2 = " + multFun (15,2)) <INPUT NAME="operand1" TYPE="text" VALUE="5" SIZE=5> <INPUT NAME="operand2" TYPE="text" VALUE="6" SIZE=5> <INPUT NAME="result" TYPE="text" VALUE="" SIZE=10> <INPUT NAME="buttonM" TYPE="button" VALUE="Multiply" onClick="document.form1.result.value= multFun(document.form1.operand1.value, document.form1.operand2.value)">

    вы не можете вызывать функцию multFun в свойстве обработчика событий, потому что эти свойства не могут брать аргументы. Например, вы не можете вызвать функцию multFun следующим образом:

    document.form1.button1.onclick=multFun(5,10)

    Определение обработчика событий с объектом function

    Следующий код присваивает функцию onFocus обработчику событий окна:

    window.onfocus = new Function("document.bgColor='antiquewhite'")

    Если вы имеете только ссылку на объект функции, то вы можете использовать его одноименную функцию, и преобразует от объекта до функции:

    Window.onfocus ()

    Свойства

    Объект function имеет следующие свойства:

    Свойства Описание
    arguments Соответствует элементам функции.
    prototype Позволяет вам, прибавлять свойства к объекту function.

    Методы

  • Отсутствуют.

    Обработчики Событий

  • Отсутствуют.

    Примеры

    Следующий пример создает обработчики событий onFocus и onBlur для фрейма. Этот код существует в том же самом файле, который содержит тег <FRAMESET>. Заметьте, что это - единственый способ создания обработчиков событий onFocus и onBlur для фрейма, потому что вы не можете определять обработчики событий в теге <FRAME>.

    frames[0].onfocus = new Function("document.bgColor='antiquewhite'") frames[0].onblur = new Function("document.bgColor='lightgrey'")

    hash

    <<Changed.>>

    Свойство hash - свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен для с войство hash :

      
    areaName.hash
    

    Параметры

    areaName - значение атрибута NAME объекта Area .

    Свойства

  • Объект Area

    Описание

    вы можете управлять свойством hash в любое время.


    height

    < <New.> > ;

    Свойство. Строка, определяющая высоту изображения или в пикселях или в процентах от высоты окна.

    Синтаксис

      
    imageName.height
     

    Параметры

    imageName является либо именем объекта image либо элемента в массиве image.

    Свойства

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство height отражает атрибут HEIGHT тега <IMG>.

    height - свойство только для чтения.

    Примеры

    Следующая функция показывает значения свойства изображения height , width, hspace, и vspace.

    function showImageSize(theImage) { alert('height=' + theImage.height+ '; width=' + theImage.width + '; hspace=' + theImage.hspace + '; vspace=' + theImage.vspace) }

    Смотрите также

    Свойства border , hspace, vspace, width


    hidden

    < <Changed.> >

    Следующие свойства были добавлены к объекту hidden :

    Свойства Описание
    type Отражает атрибут TYPE


    host

    < <Changed.> >

    Свойство host - свойство объекта Area .

    Синтаксис

    Следующий синтаксис был добавлен для свойства host :

      
    areaName.host
     

    Параметры

    areaName - значение атрибута NAME объекта Area .

    Свойства

  • Объект area

    Описание

    вы можете управлять свойством host в любое время.


    hostname

    < <Changed.> >

    Свойство hostname - свойство объекта Area .

    Синтаксис

    Следующий синтаксис был добавлен для свойства hostname:

      
    areaName.hostname
     

    Параметры

    areaName - значение атрибута NAME объекта Area .

    Свойства

  • Объект area

    Описание

    вы можете управлять свойством hostname в любое время.


    href

    < <Changed.> >

    Свойство href - свойство объекта Area .

    Синтаксис

    Следующий синтаксис был добавлен для свойства href:

      
    areaName.href
     

    Параметры

    areaName - значение атрибута NAME объекта Area .

    Свойства

  • Объект area

    Описание

    вы можете управлять свойством href в любое время.


    hspace

    < ;<New.> >

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

    Синтаксис

      
    imageName.hspace
     

    Параметры

    imageName является либо именем объекта image либо элемента в массиве image.

    Свойства

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство hspace отражает атрибут HSPACE тега <IMG>.

    Hspace - свойство только для чтения.

    Примеры

    Смотрите примеры для свойства height .

    Смотрите также

    Свойства border , height , vspace, width


    Image (массив image )

    < <New.> >

    Объект. Изображение на форме HTML.

    HTML синтаксис

    Чтобы определить изображение, используйте стандарт HTML синтаксис с использованием обработчиков событий onAbort и onLoad:

       
    <IMG 
    [NAME = "imageName"] 
    SRC = " Location " 
    [LOWSRC = " Location "] 
    [HEIGHT = " Pixels " |"Value"% ] 
    [WIDTH = " Pixels " | "Value"%] 
    [HSPACE = " Pixels "] 
    [VSPACE = " Pixels "] 
    [BORDER = " Pixels "] 
    [ALIGN="left"|"right"|
          "top"|"absmiddle"|"absbottom"|
          "texttop"|"middle"|"baseline"|"bottom"] 
    [ISMAP] 
    [USEMAP="Location#MapName "]
    [onAbort = " handlerText "] 
    [onError = " handlerText "]
    [onLoad = " handlerText "] >
     

    HTML атрибуты

    NAME = "imageName" определяет имя объекта image. Что бы обратиться к этому значению, используите свойство name.

    SRC = " Location " определяет URL изображения, которое будет показано в документе. Что бы обратиться к этому значению, используите свойство src.

    LOWSRC = " Location " определяет URL версии низкого разрешения изображения, которое будет показано в документе. вы можете обращаться к этому значению, используя свойство lowsrc.

    HEIGHT = " Pixels " |"Value"% определяет высоту изображения или в пикселях или в процентах от высоты окна. вы можете обращаться к этому значению, используя свойство height.

    WIDTH = " Pixels " | "Value"% определяет ширину изображения или в пикселях или в процент от ширины окна. вы обращаться к этому значению, используя свойство width.

    HSPACE = " Pixels " определяют расстояние в пикселях между левыми и правыми гранями изображения и текста окружения. Этот атрибут применяется только к изображениям, которые используют "левый" или "правые" как значения атрибута ALIGN. вы можете обращаться к этому значению, используя свойство hspace.

    VSPACE = " Pixels " определяют расстояние в пикселях между верхними и нижними гранями изображения и текста окружения. Этот атрибут применяется только к изображениям, которые используют "левый" или "правый" как значение атрибута ALIGN. вы можете обращаться к этому значению, используя свойство vspace.

    BORDER = " Pixels " определяет ширину, в пикселях, границы изображения. вы можете обращаться к этому значению, используя свойство border.

    ALIGN определяет выравнивание изображения относительно текста окружения. Если опущено, используется "bottom".

    ISMAP определяет изображение как отображение изображения стороны сервера.

    USEMAP="Location#MapName " Определяет изображение как отображение изображения стороны клиента. Этот атрибут должен определить URL файла, который содержит формирование рисунка отображения, сопровождаемое Символом #, и затем имя отображения. Например, USEMAP="http://www.HomeWorld.com/Maplist.html#areamap".

    Синтаксис

    Создание объект Image:

      
    imageName = new Image([width, height])
     

    Использование свойства объекта Image:

      
    1. ImageName.propertyName 
    2. Document.images [index] .propertyName 
    3. FormName.elements [index] .propertyName
     

    Определим обработчик событий для объекта Image , созданного при помощи Image():

      
    imageName.onabort = handlerFunction 
    imageName.onerror = handlerFunction 
    imageName.onload = handlerFunction
     

    Параметры

    imageName является либо именем нового объекта либо свойством существующего объекта. При использовании свойства объекта image, imageName - значение атрибута NAME объекта image

    width - ширина изображения, в пикселях.

    heigt - высота изображения, в пикселях.

    formName является либо значением атрибута NAME объекта form либо элементом в массиве form.

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

    propertyName - один из свойств, описанных ниже.

    handlerFunction - основное ключевое слово, имя функции, или переменной или свойство, которое содержит основное или имеющий силу функции.

    Свойства

    document

    Выполненный в

    Navigator 3.0

    Описание

    Положение и размер изображения в документе установлены, когда документ отображен в Navigator и не может быть изменен. вы можете изменять изображение, показанное как свойства src и lowsrc. (Смотрите описания src и lowsrc.)

    вы можете использовать JavaScript, чтобы создать анимацию с объектом image многократно устанавливая свойство src, как показано в Примере 4. JavaScript анимация медленнее чем GIF анимация, потому что с GIF анимацией полная анимация находится в одном файле; с JavaScript анимацией, каждый фрейм находится в отдельном файле.

    Объекты image не имеют обработчиков событий onClick, onMouseOut, и onMouseOver. Но, если вы определяете объект Area для изображения или размещаете тег <IMG> внутри объекта Link, вы можете использовать обработчики событий объектов Area или Link . Смотрите объекты link и area .

    Построение image()

    Первичное использование для объекта image, созданного при помощи image() должен загружать изображение из сети прежде, чем это фактически необходимо для показа. Затем, когда вы должны показать изображение внутри существующей ячейки изображения, устанавливая свойство src показанного изображения к тому же самому значению, поскольку оно использовало для предвыбранного изображения, следующим образом.

    myImage = new Image() myImage.src = "seaotter.gif" ... document.images[0].src = myImage.src

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

    Массив image

    вы можете ссылаться на изображения в вашем код, используя массив image . Этот массив содержит все объекты image (тег <IMG>) в документе в исходном порядке (изображения, созданные при помощи image() не включены в массив image ). Например, если документ содержит три изображения, то эти изображения отражены как document.images[0], document.images[1], и document.images[2].

    Использование массива image:

      
    1. document.images [index] 
    2. document.images.length 
    index - целое число, представляющее изображение в документе или строка, содержащая имя объекта image.

    Чтобы получать число изображений в документе, используйте свойство length: document.images.length.

    Элементы в массиве image только для чтения. Например, утверждение document.images [0] = "logo.gif" не имеет никакого действия.

    Свойства

    Объект image имеет следующие свойства:

    Свойства Описание
    border Отражает атрибут BORDER
    complete Логическое значение, указывающее, закончил ли Navigator загружать изображение
    height Отражает атрибут HEIGHT
    hspace Отражает атрибут HSPACE
    lowsrc Отражает атрибут LOWSRC
    name Отражает атрибут NAME
    prototype Позволяет вам, добавлять свойства к объекту image.
    src Отражает атрибут SRC
    vspace Отражает атрибут VSPACE
    width Отражает атрибут WIDTH

    Замечание: border, hspace, name, и vspace свойства не обязательны для изображений, созданных при помощи image().

    Массив image имеет следующие свойства:

    Свойства Описание
    length Отражает число изображений в документе

    Методы

    Отсутствуют.

    Обработчики событий

  • onAbort
  • onError
  • onLoad

    Примеры

    Пример 1. Обращение к изображению его имени. Если вы обращаетесь к изображению его имени, вы должны включить имя формы, если изображение находится в форме. Например, пусть следующее изображение определено так:

    <IMG NAME="aircraft" SRC="f15e.gif" ALIGN="left" VSPACE="10">

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

    document.myForm.aircraft.src ='f15e.gif '

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

    document.aircraft.src ='f15e.gif '

    Пример 2. Создание изображения при помощи Image(). Следующий пример создает объект Image, myImage, который имеет размеры 70 пикселей в ширину и 50 пикселей в высоту. Если источник URL, seaotter.gif, не имеет размерностей 70x50 пикселы, то масштабируется к этому размеру.

    myImage = new Image(70, 50) myImage.src = "seaotter.gif"

    Если вы опускаете параметры ширину и высоту в Image(), myImage создается размерами, равными этому изображения, именованного в источнике URL.

    myImage = new Image() myImage.src = "seaotter.gif"

    Пример 3. Показывает изображение, основанное на вводе формы. В следующем примере, пользователь выбирает, какое изображение показывать. Пользователь заказывает рубашку, заполняя форму. Показанное изображение зависит от цвета рубашки и размера, который пользователь выбирает. Все возможные выборы изображения предварительно загружены, чтобы ускорить время ответа Когда пользователь нажимает кнопку, чтобы упорядочить(заказать) рубашку, функция allShirts отображает изображения всех рубашек.

    <SCRIPT> shirts = new Array() shirts[0] = "R-S" shirts[1] = "R-M" shirts[2] = "R-L" shirts[3] = "W-S" shirts[4] = "W-M" shirts[5] = "W-L" shirts[6] = "B-S" shirts[7] = "B-M" shirts[8] = "B-L" doneThis = 0 shirtImg = new Array() // Preload shirt images for(j = 0; j < 3; j++) { for(k = 0; k < 3; k++) { idx = j*3 + k shirtImg[idx] = new Image() shirtImg[idx].src = "shirt-" + shirts[idx] + ".gif" } } function changeShirt(form) { shirtColor = form.color.options[form.color.selectedIndex].text shirtSize = form.size.options[form.size.selectedIndex].text newSrc = "shirt-" + shirtColor.charAt(0) + "-" + shirtSize.charAt(0) + ".gif" document.shirt.src = newSrc } function allShirts() { document.shirt.src = shirtImg[doneThis].src doneThis++ if(doneThis != 9)setTimeout("allShirts()", 500) else doneThis = 0 return } </SCRIPT> <FONT SIZE=+2><B>Netscape Рубашки Поло!</B></FONT> <TABLE CELLSPACING=20 BORDER=0> <TR> <TD> <IMG name="shirt" SRC="shirt-W-L.gif"> </TD> <TD> <FORM> <B>Цвет</B> <SELECT SIZE=3 NAME="color" onChange="changeShirt(this.form)"> <OPTION> Красный <OPTION SELECTED> Белый <OPTION> Голубой </SELECT> <P> <B>Размер</B> <SELECT SIZE=3 NAME="size" onChange="changeShirt(this.form)"> <OPTION> Маленький <OPTION> Средний <OPTION SELECTED> Большой </SELECT> <P> <INPUT type="button" name="buy" value="Buy This Shirt!" onClick="allShirts()"> </FORM> </TD> </TR> </TABLE>

    Пример 4. JavaScript анимация. Следующий пример использует JavaScript, чтобы создать анимацию с объектом Image, многократно изменяя значение свойства src. Сценарий начинается, предварительно загрузив десять изображений, которые создают анимацию (! Image1.gif,! Image2.gif,! Image3.gif, и так далее). Когда объект Image размещается на документе с тегом <IMG>,! показывается Image1.gif, и обработчик событий onLoad начинает анимацию, вызывая функцию animate . Обратите внимание, что функция animate не вызывается после изменения свойства src объекта Image. Это - то, потому что, когда src изменения свойство, обработчик события onLoad изображения вызван, и функция animate вызывается.

    <SCRIPT> delay = 100 imageNum = 1 // Preload animation images theImages = new Array() for(i = 1; i < 11; i++) { theImages[i] = new Image() theImages[i].src = "!image" + i + ".gif" } function animate() { document.animation.src = theImages[imageNum].src imageNum++ if(imageNum > 10) { imageNum = 1 } } function slower() { delay+=10 if(delay > 4000) delay = 4000 } function faster() { delay-=10 if(delay < 0) delay = 0 } </SCRIPT> <BODY BGCOLOR="white"> <IMG NAME="animation" SRC="!image1.gif" ALT="[Анимация]" onLoad="setTimeout('animate()', delay)"> <FORM> <INPUT TYPE="button" Value="Slower" onClick="slower()"> <INPUT TYPE="button" Value="Faster" onClick="faster()"> </FORM> </BODY>

    Смотрите также примеры для обработчиков событий onAbort, onError, и onLoad.

    Смотрите также

    Объекты Область, link ;Обработчики событий onClick, onMouseOut, onMouseOver


    index

    < <Changed.>>

    Свойство index - свойство объекта Option.

    Синтаксис

    Следующий синтаксис был добавлен для свойства index:

      
    optionName.index
     

    Параметры

    optionName - имя созданной опции объекта Select, при использовании Option().

    Свойства

  • Объект Option

    isNaN

    < <Changed.>>

    Функция isNaN теперь работает на всех платформах.

    Для информации относительно isNaN, смотрите функцию isNaN.


    javaEnabled

    < <New.>>

    Метод. Определяет, допускается ли Java.

    Синтаксис

      
    navigator.javaEnabled ()
     

    Метод

    navigator

    Выполненный в

    Navigator 3.0

    Описание

    javaEnabled возвращает true, если Java допускается, иначе false. Пользователь имеет возможность или отключать Java, выбирая Network Preferences из меню Navigator's Options.

    Примеры

    Следующий код выполняет function1, если Java допускается; иначе выполняет function2.

    if (navigator.javaEnabled()) { function1() } else function2()

    Смотрите также

    Свойства appName, appCodeName, userAgent


    join

    < <New.>>

    Метод. Соединяет все элементы массива в строку.

    Синтаксис

      
    arrayName.join ( separator) 
     

    Параметры

    arrayName - имя объекта Array или свойство существующего объекта.

    separator определяет строку, которая отделяет каждый элемент массива. separator преобразован в строку в случае необходимости. Если опущен, то элементы массива отделяются запятой (,).

    Метод

    array

    Выполненный в

    Navigator 3.0

    Описание

    Строковое преобразование всех элементов массива соединено в одну строку.

    Примеры

    Следующий пример создает массив, с тремя элементами, затем соединяет массив три раза: используя заданного по умолчанию разделителя, затем запятую и пробел, и затем плюс.

    a = new Array("Wind","Rain","Fire") document.write(a.join() +"<BR>") document.write(a.join(", ") +"<BR>") document.write(a.join(" + ") +"<BR>")

    Этот код выглядит следующим образом:

    Смотрите также

    Методы reverse , sort


    length

    < <Changed.>>

    Свойства length - свойство следующих:

  • объект array
  • массив image
  • plugin объект

    Синтаксис

    Следующий синтаксис был добавлен для свойства length:

      
    1. arrayName.length 
    2. images.length 
    3. navigator.plugins [index] .length 
    4. navigator.plugins [pluginName] .length 

    Параметры

    arrayName - имя объекта Array.

    Описание

    Свойство length - целое число, которое определяет один из следующих:

    Для массивов, вы можете устанавливать свойства length, чтобы урезать массив в любое время. вы не можете расширять массив; например, если вы устанавливаете длину 3, когда - в настоящее время 2, массив будет все еще содержать только 2 элемента. Для информации относительно других способов изменять длины массива, смотрите объект Array. { array }

    Примеры

    Следующий код укорачивает массив statesUS до длины 50, если текущая длина большая чем 50. if (statesUs.length > 50) { statesUs.length=50 alert("The U.s. has only 50 states. New length is " + statesUs.length) }

    Свойства

  • объект array
  • массив image
  • plugin объект

    link (массив links )

    < <Changed.>>

    Массив links теперь содержит объекты Area, которые созданы с <AREA HREF = "...">.

    Следующие обработчики события были добавлены к объекту Link:

  • OnMouseOut

    Дополнительное описание

    Следующее обсуждение будет добавлено к документации для объекта Link; однако, это - не новые функциональные возможности.

    вы можете использовать объект Link, чтобы выполнить функцию JavaScript быстрее чем связь с гиперссылкой, определяя javascript: URL протокол для HREF атрибута связи. вы можете делать это, если связь окружает объект Image, и вы хотите выполнять JavaScript код, когда изображение нажато. Или вы можете использовать связь вместо кнопки, чтобы выполнить JavaScript код.

    Например, когда пользователь нажимает на следующие связи, slower и faster выполняются функции:

    <A HREF="javascript-slower()">Slower</A> <A HREF="javascript-faster()">Faster</A>

    вы можете использовать объект Link, чтобы не делать ничто скорее чем связь с гиперссылкой, определяя javascript:void (0) URL протокол для HREF атрибута связи. вы можете делать это, если связь окружает объект Image, и вы хотите использовать обработчики события связи с изображением. Когда пользователь нажимает следующую связь или изображение, ничего не происходит:

    <A HREF="javascript-void(0)">Click here to do nothing</A> <A HREF="javascript-void(0)"> <IMG SRC="globe.gif" ALIGN="top" HEIGHT="50" WIDTH="50"> </A>

    Смотрите также

    void


    location

    < <Changed.>>

    Синтаксис

    Следующий синтаксис был добавлен к объекту Location:

      
    [ windowReference.]location.methodName(parameters)
      

    Методы

    Следующие методы были добавлены к объекту Location:

  • reload
  • replace

    Дополнительное описание

    Следующее обсуждение будет добавлено к документации для объекта Location; однако, это - не новые функциональные возможности.

    В обработчиках события, вы должны определить window.location вместо просто использования location. Из-за обзора статических объектов в JavaScript, обращение к location без определения объектного имяни эквивалентно document.location, который является синонимом для документа URL.

    Не используйте location как свойство объекта Document; используйте вместо этого свойство document. URL. Свойство Document.location, которое является синонимом для document.URL, будет удален в будущем.


    lowsrc

    < <New.>>

    Свойство. Строка, определяющая URL версии низкого разрешения изображения, которое нужно отобразить в документе.

    Синтаксис

      
    imageName.lowsrc
     

    Параметры

    imageName является либо именем объекта Image либо элемента в массиве Image.

    Свойства

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство Lowsrc первоначально отражает атрибут LOWSRC тега <IMG>. Navigator загружает меньшее изображение, определенное lowsrc и затем заменяет его на большее изображение, определенное свойством src. вы можете изменять свойства lowsrc в любое время.

    Примеры

    Свойства Смотрите примеры для src.

    Смотрите также

    Свойства complete , src


    Math

    < <Changed.>>

    Следующие методы были добавлены к объекту Math:

  • atan2

    mimeTypes

    < <New.>>

    Массив всех типов MIME, обеспечиваемых клиентом.

    Свойства

    navigator

    Выполненный в

    Navigator 3.0


    name

    < <Changed.>>

    Свойства name - свойства только для чтения следующих объектов:

  • applet
  • fileUpload
  • image
  • plugin

    Синтаксис

    Следующий синтаксис был добавлен для свойства name :

      
    1. fileUploadName.name 
    2. imageName.name 
    3. navigator.plugins [index] .name 
    4. navigator.plugins [pluginName] .name 

    Параметры

    fileUploadName является либо значением атрибута NAME объекта FileUpload либо элемента в массиве elements .

    imageName является либо значением атрибута NAME объекта Image либо элемента в массиве images.

    index - целое число, представляющее plug-in документа или строка, содержащая имя объекта Plugin

    Описание

    Для объекта FileUpload, name - свойство только для чтения.

    Для изображений, созданных при помощи image(), значение свойства name пусто.

    Свойства

  • объект fileUpload
  • image
  • plugin

    Смотрите также

    Объекты applet , plugin <------------------------------------------------------->

    navigator

    < <Changed.>>

    Следующие объекты - свойства объекта navigator

  • mimeType
  • plugins

    Следующие методы были добавлены к объекту navigator

  • javaEnabled

    onAbort

    < <New.>>

    Обработчик событий. Событие аварийного прекращения работы происходит, когда пользователь прерывает загрузку изображения (например, нажимая связь или нажимая Кнопку остановки). Обработчик события OnAbort выполняет JavaScript код, когда происходит событие аварийного прекращения работы.

    Выполненный в

    Navigator 3.0

    Обработчики событий

  • image

    Примеры

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

    <IMG NAME="aircraft" SRC="f15e.gif" onAbort="alert('You didn\'t get to see the image!')">

    Смотрите также

    Обработчики событий onError, onLoad


    OnBlur

    < <Changed.>>

    Обработчик события OnBlur - обработчик события окон, фреймов, и framesets.

    Обработчик События

  • window
  • frame

    Описание

    Для окон, фреймов, и framesets, обработчик события onBlur определяет JavaScript код, который выполниться, когда окно теряет фокус.

    Обработчик события OnBlur фрейма отменяет обработчик события onBlur в теге <BODY> документа, загруженного в фрейм.

    Обратите внимание: На платформах Windows, помещая обработчик события onBlur в тег <FRAMESET> не имеет никакого действия.

    Примеры

    Пример 1. Изменение фона окна. В следующем примере, обработчики события onBlur окна и onFocus изменяют фоновый цвет окна в зависимости от того, имеет ли окно фокус.

    <BODY BGCOLOR="lightgrey" onBlur="document.bgColor='lightgrey'" onFocus="document.bgColor='antiquewhite'">

    Пример 2. Изменение фонового цвета фрейма. Следующий пример создает четыре фрейма. Источник для каждого фрейма, Onblur2.html имеет тег <BODY> с обработчиками события onBlur и onFocus, показанными в Примере 1. Когда документ загружен, все фреймы - "lightgrey". Когда пользователь нажимает фрейм, обработчик события onFocus изменяет фоновый цвет фрейма на "antiquewhite". Фрейм, который теряет фокус, изменен на "lightgrey". Обратите внимание, что обработчики события onBlur и onFocus - внутри тега <BODY>, а не тега <FRAME>.

    <FRAMESET ROWS="50%,50%" COLS="40%,60%"> <FRAME SRC=onblur2.html NAME="frame1"> <FRAME SRC=onblur2.html NAME="frame2"> <FRAME SRC=onblur2.html NAME="frame3"> <FRAME SRC=onblur2.html NAME="frame4"> </FRAMESET>

    Следующий код имеет тот же самый эффект что и предыдущий код, но выполнен по-другому. Обработчики события onFocus и onBlur связаны с фреймом, а не с документом. Обработчики события onBlur и onFocus для фрейма определены, устанавливая свойства onblur и onfocus. Для информации относительно использования new определяющий строку JavaScript кода, который нужно компилировать как функция, смотрите объект Function. { function } <SCRIPT> function setUpHandlers() { for (var i = 0; i < frames.length; i++) { frames[i].onfocus = new Function("document.bgColor='antiquewhite'") frames[i].onblur = new Function("document.bgColor='lightgrey'") } } </SCRIPT> <FRAMESET ROWS="50%,50%" COLS="40%,60%" onLoad=setUpHandlers()> <FRAME SRC=Onblur2.html NAME="frame1"> <FRAME SRC=Onblur2.html NAME="frame2"> <FRAME SRC=Onblur2.html NAME="frame3"> <FRAME SRC=Onblur2.html NAME="frame4"> </FRAMESET>

    Пример 3. Закрытие окн. В следующем примере, обработчик события onBlur окна закрывает окно, когда окно теряет фокус.

    <BODY onBlur="window.close()"> Здесь - некоторый текст </BODY>

    onClick

    < <Changed.>>

    Для checkboxes, links, radio buttons, reset buttons, и submit buttons , обработчик события onClick может теперь возвращать false, чтобы отменить действие, обычно связываемое с событием щелчка. Возвращение false в обработчике события onClick для кнопки не имеет никакого действия.

    Обратите внимание: На платформах Windows, возвращая false в обработчике события onClick для кнопки reset не имеет никакого действия.

    Например, нажмите на следующую гиперссылку, и затем выберите Отмену. Когда вы выбираете Отмену, новая страница не загрузиться.

    Netscape

    Код для этого примера выглядит следующим образом:

    <A HREF = "index-1.htm" onClick="return confirm('Load Netscape home page?')">Netscape</A>

    Примеры

    Следующий пример создает checkbox с обработчиком события onClick. Обработчик события отображает подтверждение, которое предупреждает пользователя, что проверка checkbox очищает все файлы. Если пользователь выбирает Отмену, обработчик события onClick возвращает false, и checkbox не отмечен.

    <INPUT TYPE="checkbox" NAME="check1" VALUE="check1" onClick="return confirm('This purges all your files. Are you sure?')"> Удалить файлы

    onError

    <<New.>>

    Обработчик События. Событие ошибки происходит, когда загрузка документа или изображения вызывает ошибку. Обработчик события onError выполняет JavaScript код, когда происходит событие ошибки.

    Обработчик события onError может быть любым из следующих:

    Если вы записываете функцию обработчика событий, то вы имеете три параметра для сообщения ошибок:

    Событие ошибки происходит только, когда происходят синтаксис JavaScript или ошибка во время выполнения программы, но не, когда происходит ошибка Navigator. Например, если вы пытаетесь установить window.location.href ='Notthere.html ', причем Notthere.html не существует, в результате возникает сообщение об ошибках - есть Navigator сообщения об ошибках; следовательно, обработчик события onError не прервал бы это сообщение.

    Смотрите релевантные объекты для синтаксиса onError.

    Выполненный в

    Navigator 3.0

    Обработчик События

  • image
  • window

    Примеры

    Пример 1. Обработчик События с нулевой вероятностью. В следующем теге <IMG>, код onError = "null" скрывает сообщения об ошибках, если ошибки происходят, когда изображение загружается.

    <IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2" onError="null">

    Пример 2. Обработчик События с нулевой вероятностью для окна. Обработчик события OnError для окон не может быть выражен в HTML. Следующий код приписывает null обработчику onError для всего окна, а не только для объект Image. Это скроет все JavaScript сообщения об ошибках.

    <SCRIPT> window.onerror=null </SCRIPT> <IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2">

    В следующем примере, окно onerror=null скрывает все сообщения об ошибки. Без onerror=null, иначе код вызвал бы ошибку (stack overflow error).

    <SCRIPT> window.onerror = null; function testErrorFunction() { testErrorFunction(); } </SCRIPT> <BODY onload="testErrorFunction()"> Сообщение теста </BODY>

    Пример 3. Функция Обработки ошибок. Следующий пример определяет функцию myOnError, которая прерывает JavaScript ошибки. Функция использует три массива, чтобы сохранить сообщение, URL, и номер строки для каждой ошибки. Когда пользователь нажимает кнопку Display Error Report, функция displayErrors открывает окно и создает отчет ошибки в этом окне.

    <SCRIPT> window.onerror = myOnError msgArray = new Array() urlArray = new Array() lnoArray = new Array() function myOnError(msg, url, lno) { msgArray[msgArray.length] = msg urlArray[urlArray.length] = url lnoArray[lnoArray.length] = lno return true } function displayErrors() { win2=window.open('','window2','scrollbars=yes') win2.document.writeln('<B>Error Report</B><P>') for (var i=0; i < msgArray.length; i++) { win2.document.writeln('<B>Error in file:</B> ' + urlArray[i] + '<BR>') win2.document.writeln('<B>Line number:</B> ' + lnoArray[i] + '<BR>') win2.document.writeln('<B>Message:</B> ' + msgArray[i] + '<P>') } win2.document.close() } </SCRIPT> <BODY onload="noSuchFunction()"> <FORM> <BR> <INPUT TYPE="button" VALUE="This button has a syntax error" onClick="alert('unterminated string)"> <P> <INPUT TYPE="button" VALUE="Display Error Report" onClick="displayErrors()"> </FORM>

    Пример 4. Обработчик События вызывающий функцию. В следующем теге <IMG>, обработчик события onError вызывает функцию badImage, если существуют ошибки, когда изображение загружается. <SCRIPT> function badImage(theImage) { alert('Error: ' + theImage.name + ' did not load properly.') } </SCRIPT> <FORM> <IMG NAME="imageBad2" SRC="orca.gif" ALIGN="left" BORDER="2" onError="badImage(this)"> </FORM>

    Смотрите также

    Обработчик события OnLoad


    OnFocus

    < <Changed.>>

    Обработчик события OnFocus - теперь это обработчик события window, frame, и frameset.

    Обработчик События

  • window
  • frame

    Описание

    Для window, frame, и framesets, обработчик события onFocus определяет код JavaScript, который выполниться, когда окно получает фокус.

    Обработчик события OnFocus frame отменяет обработчик события onFocus в теге <BODY> документа, загруженного в frame.

    Обратите внимание, что размещение alert в обработчике события onFocus приводит к рекуррентным сообщениям: когда вы нажимаете OK, чтобы игнорировать сообщение, основное окно получает снова фокус и происходит другое событие фокуса.

    Смотрите релевантные объекты для синтаксиса onFocus.

    Обратите внимание: На платформах Windows, помещая обработчик события onFocus в теге <FRAMESET> не имеет никакого эффекта.

    Примеры

    Смотрите примеры для обработчика события onBlur.


    OnLoad

    < <Changed.>>

    Обработчик события OnLoad - теперь обработчик события:

  • image

    Обработчик События

  • image

    Описание

    Для image, обработчик события onLoad указывает на код, который выполниться, когда изображение отображается. Не путайте отображение изображения с загрузкой изображения. вы можете загружать несколько изображений, и затем отображать их один за другим в том же самом объекте Image, устанавливая свойство src объекта. Если вы изменяете изображение, отображаемое таким образом, обработчик события onLoad выполняется каждый раз, когда изображение отображается, а не только, когда изображение загружено в память.

    Если вы определяете обработчик события onLoad для объекта Image, который отображает выполнение цикла GIF анимации (multi-image GIF), каждый цикл анимации вызывает событие onLoad, и обработчик события выполняется один раз для каждого цикла.

    вы можете использовать обработчик события onLoad, чтобы создать JavaScript анимацию, надо несколько раз устанавивить свойство src объекта Image. Смотрите объект Image для более подробной информации. { image }

    Примеры

    Пример 1. Alert Дисплея, когда загружено изображение. Следующий пример создает два объекта Image, один при помощи image(), а один при помощи тега <IMG>. Каждый объект Image имеет обработчик события onLoad, который вызывает функцию displayAlert, выводящая сообщение. Для изображения, созданного в теге <IMG>, alert отображает имя изображения. Для изображения, созданного, как Image(), alert отображает сообщение без имени изображения. Потому что обработчик onLoad для объекта, созданного, как Image() должен иметь имя функции, а это не может определять параметры для функции displayAlert.

    <SCRIPT> imageA = new Image(50,50) imagea.onload=displayAlert imagea.src="cyanball.gif" function displayAlert(theImage) { if (theImage==null) { alert('An image loaded') } else alert(theImage.name + ' has been loaded.') } </SCRIPT> <IMG NAME="imageB" SRC="greenball.gif" ALIGN="top" onLoad=displayAlert(this)> <BR>

    Пример 2. Выполнение цикла GIF анимации. Следующий пример отображает изображение birdie.gif, который выполняет цикла GIF анимации. Обработчик события OnLoad изображения увеличивает переменные cycles , которые содержат сколько раз анимация имела цикл. Чтобы видеть значение cycles , пользователь нажимает кнопку с именем Счет Цикла.

    <SCRIPT> var cycles=0 </SCRIPT> <IMG ALIGN="top" SRC="birdie.gif" BORDER=0 onLoad="++cycles"> <INPUT TYPE="button" VALUE="Count Loops" onClick="alert('The animation has looped ' + cycles + ' times.')">

    Пример 3. Изменение GIF анимации. Следующий пример использует обработчик события onLoad, который поворачивает шесть GIF анимаций. Каждая анимация отображается в последовательности в одном объекте Image. Когда документ загружен, отображается !Anim0.html. Когда загрузка анимации завершена, обработчик события onLoad вызывает следующий файл !Anim1.html, который загружается вместо первого файла. После загрузки последней анимации !Anim5.html, снова отображается первый файл. Обратите внимание, что функция changeAnimation не вызывается после изменения свойства src объекта Image. Потому что, когда изменяется свойство src, обработчик события onLoad вызывает изображение, и вызывается функция changeAnimation.

    <SCRIPT> var whichImage=0 var maxImages=5 function changeAnimation(theImage) { ++whichImage if (whichImage <= maxImages) { var imageName="!anim" + whichImage + ".gif" theImage.src=imageName } else { whichImage=-1 return } } </SCRIPT> <IMG NAME="changingAnimation" SRC="!anim0.gif" BORDER=0 ALIGN="top" onLoad="changeAnimation(this)">

    Смотрите также примеры для объекта Image. {Изображение}

    Смотрите также

    OnAbort, onError обработчики события


    onMouseOut

    < <New.>>

    Обработчик События. Событие MouseOut происходит, каждый раз, когда указатель мыши выходит из определенной области или когда внутри той области или связи. Обработчик события OnMouseOut выполняет JavaScript код, событие когда происходит mouseOut.

    Если мышь перемещается из одной области в другую, то для первой области происходит событие onMouseOut, а для второй событие onMouseOver.

    Объекты area, которые используют обработчик события onMouseOut, должны включить атрибут HREF внутри тега <AREA>.

    Внутри обработчик события должен возвращать true, если вы хотите устанавливать свойства status или defaultStatus с обработчиком события onMouseOver.

    Смотрите релевантные объекты для синтаксиса onMouseOut.

    Выполненный в

    Navigator 3.0

    Обработчик События

  • area
  • link

    Примеры

    Смотрите примеры для объекта Area.{ area }

    Смотрите также

    Обработчик события OnMouseOver


    onMouseOver

    < <Changed.>>

    Обработчик События. Обработчик события OnMouseOver - это обработчик события:

  • area

    Событие mouseOver происходит каждый раз, когда указатель мыши появляется над объектом или областью, или снаружи того объекта или области. Обработчик события OnMouseOver выполняет JavaScript код, когда происходит событие mouseOver.

    Если мышь перемещается из одной области в другой, то для первой области вы получите событие onMouseOut, а для второй onMouseOver.

    Объекты area, которые используют обработчик события onMouseOver, должны включить атрибут HREF внутри тега <AREA>.

    Внутри обработчика события вы должны возвращать true, если вы хотите устанавить свойства status или defaultStatus с обработчиком события onMouseOver.

    Смотрите релевантные объекты для синтаксиса onMouseOver.

    Примеры

    Смотрите примеры для объекта Area. { area }

    Смотрите также

    Обработчик события onMouseOut


    OnReset

    < <New.>>

    Обработчик События. Событие Reset происходит, когда пользователь нажимает кнопку Reset. Обработчик события OnReset выполняет JavaScript код, когда происходит событие Reset.

    Смотрите релевантные объекты для синтаксиса onReset.

    Выполненный в

    Navigator 3.0

    Обработчик События

    form

    Примеры

    Следующий пример отображает объект Text со значением по умолчанию "ПРИБЛИЗИТЕЛЬНО" и кнопку Reset. Если пользователь печатает сокращение состояния в объекте Text и затем нажимает кнопку сброса, первоначальное значение "ПРИБЛИЗИТЕЛЬНО" восстановлено. OnReset обработчик события формы отображает сообщение, указывающее, что значения по умолчанию были восстановлены.

    <FORM NAME="form1" onReset="alert('Defaults have been restored.')"> Состояние: <INPUT TYPE="text" NAME="state" VALUE="CA" SIZE="2"> <P> <INPUT TYPE="reset" VALUE="Clear Form" NAME="reset1"> </FORM>

    Смотрите также

    Объект reset и метод reset


    onSubmit

    < <Changed.>>

    Пример для обработчика события onSubmit будет изменен на следующий. Это - не новые функциональные возможности.

    <FORM onSubmit="return validate(this)"> ... </FORM>

    opener

    <<New. > >

    Свойство. Определяет окно вызванного документа, когда окно открыто, используя метод open.

    Синтаксис

      
    window.opener
     

    Свойство

    window

    Выполненный в

    Navigator 3.0

    Описание

    Когда исходный документ открывает окно, вызывая метод open, Свойство opener определяет окно исходного документа

    вы можете изменять свойство opener в любое время.

    Примеры

    Пример 1: закрытие opener. Следующий код закрывает окно, которое было открыто текущем окном.

    window.opener.close ()

    Пример 2: имя opener. Окно может определять имя его opener следующим образом:

    document.write ("<BR> свойство opener - " + window.opener.name)

    Пример 3: изменение значения opener. Следующий код изменяет значение свойства opener к пустому указателю. После того, как этот код выполниться, вы не можете закрывать окно opener как показано в Примере 1.

    window.opener=null

    Пример 4: изменение свойство opener. Следующий код изменяет фоновый цвет окна, определенного свойством opener .

    window.opener.document.bgColor ='bisque '

    Смотрите также

    Методы close , open


    Option

    <;<New. > >

    Объект. Опция объекта Select создается при использование конструктора Option(). Для более подробной информации, смотрите объект Select.{ select}


    parseFloat

    <;<Changed. > >

    ParseFloat теперь возвращает "NaN" на всех платформах, если первый символ строки, определенной в parseFloat(string) не может быть преобразован в номер.

    Относительно информации о parseFloat, смотрите функцию parseFloat.


    parseInt

    <;<Changed. > >

    ParseInt теперь возвращает "NaN" на всех платформах, если первый символ строки, определенной в parseInt(string) не может быть преобразован в номер.

    Относительно информации о parseInt, смотрите функцию parseInt.


    password

    <;<Changed. > >

    Следующие свойства были добавлены к объекту password:

    Свойство Описание
    type Отражает атрибут TYPE


    pathname

    <;<Changed. > >

    Свойство pathname - теперь свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен для свойства pathname :

      
    areaName.pathname
    

    Параметры

    areaName - значение атрибута NAME объекта area ..

    Свойство

  • Объект area

    Описание

    вы можете устанавливать свойство pathname в любое время.


    plugin

    <;<New. > >

    Объект. Собирает вводы из приложения plug-in.

    Синтаксис

       
    <EMBED 
    SRC=source 
    NAME=appletName 
    HEIGHT=height 
    WIDTH=width > 
    [<PARAM NAME=parameterName VALUE=parameterValue >] 
    [... <PARAM >] 
    </EMBED > 

    Параметры

    SRC=source определяет URL.

    NAME=appletName определяет имя объекта расположенного в документе.

    HEIGHT=height определяет высоту небольшого приложения в пикселях внутри окна браузера.

    WIDTH=width определяет ширину небольшого приложения в пикселях внутри окна браузера.

    <PARAM > определяет параметр для объекта.

    NAME=parameterName определяет имя параметра.

    VALUE=parameterValue определяет значение для параметра.

    Свойство

    document

    Выполненный в

    Navigator 3.0

    Описание

    embeds массив

    вы можете ссылаться на plugins в вашем коде, используя, embeds массив. Этот массив содержит все объекта Plugin (тег <EMBED>) в документе в исходном порядке. Например, если документ содержит три plugins, эти plugins отражены следующим образом document.embeds[0], document.embeds[1], и document.embeds[2].

    Использование embeds массив:

      
    1. document.embeds [index] 
    2. document.embeds.length 
    index - целое число, содержащее имя объекта Plugin.

    Чтобы получить номер plugins в документе, используйте свойство lenght: document.embeds.length.

    Элементы в массиве embeds , только для чтения. Например, утверждение document.embeds[0] = "myavi.avi" не имеет никакого эффекта.

    Массив plugins

    JavaScript имеет массив plugins, который позволяет Вам определять, установил ли пользователь plug-in. Не путайте массив plugins с объектом plugin, и массивом embeds .

    Свойства

  • Отсутствуют.

    Методы

  • Отсутствуют.

    Обработчики События

  • Отсутствуют.

    Примеры

    Следующий HTML включает AVI plug-in в документе:

    <EMBED SRC="train.au" HEIGHT=50 WIDTH=250>

    Смотрите также

    applet , mimeType объекты


    Plugins

    <;<New.>>

    Массив всего plug-ins, постоянно установлен у клиента.

    Свойство

    navigator

    Выполненный в

    Navigator 3.0


    port

    <;<Changed.>>

    Свойство port - теперь свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен для свойства port :

      
    areaName.port
     

    Параметры

    areaName - значение атрибута NAME объекта Area ..

    Свойство

  • Объект area

    Описание

    вы можете устанавливать свойство port в любое время.


    protocol

    <;<Changed.>>

    Свойство protocol - теперь свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен для свойства protocol :

      
    areaName.protocol
     

    Параметры

    areaName - значение атрибута NAME объекта Area ..

    Свойство

  • Объект area

    Описание

    вы можете устанавливать свойство protocol в любое время.


    prototype

    <;<New.>>

    Свойство. Определяет свойство, которое разделяет все объекты определенного типа.

    Синтаксис

      
    objectType.prototype.propertyName =  value 
     

    Параметры

    objectType - имя конструктора, определяющего тип объекта.

    propertyName - имя свойства, которое будет создано.

    value - значение свойства, первоначально определенного для всех объектов типа objectType.

    Свойство

    prototype - свойство любого объекта, созданного с new, таких как:

  • array
  • Date
  • function
  • image
  • Опция select
  • String
  • Определяемые пользователем объекты

    Выполненный в

    Navigator 3.0

    Описание

    Используйте свойство prototype , чтобы добавить свойства к объектам, созданным с оператором new.

    Например, вы можете создавать объекты Date, используя конструкцию Date() и оператор new. Date.prototype относится к объекту prototype конструкции Date(). Если вы устанавливаете свойство для prototype, типа Date.prototype.description, то все объекты, созданные как Date() будут иметь свойство description , даже если объекты уже существуют.

    var today = new Date() var birthday = new Date(95,12,17) Date.prototype.description=null today.description="Oh what a beautiful mornin\'" birthday.description="The day you were born"

    После того, как вы установили свойство для prototype, все последующие объекты, созданные с Date() будут иметь свойство:

    startDate=new Date() startDate.description="Started the daily grind"

    Примеры

    Пример 1. Добавление свойство к определяемому пользователем объекту. Следующий пример использует функцию Car, чтобы определить тип объекта Car . Затем используется new , чтобы создать объекта myCar. Код Car prototype.wheels=4 добавляет свойство wheels ко всем объектам Car.

    function Car(make, model, year) { this.make = make his.model = model this.year = year } var myCar = new Car("Acura", "Integra", 1987) Car.prototype.wheels = 4 // no 3-wheelers please!if (myCar.wheels == 4) document.write("The car myCar has ", myCar.wheels, " wheels.")

    radio

    <;<Changed.>>

    Следующие свойства были добавлены к объекту Radio:

    Свойство Описание
    type Отражает атрибут TYPE


    random

    <;<Changed.>>

    Math.random метод теперь работает на всех платформах. Генератор случайных чисел с текущего времени выбран, как в Java.


    reload

    <;<New.>>

    Метод. Перезагружает текущий документ окна.

    Синтаксис

      
    location.reload ([true])
     

    Параметры

    true вынуждает безусловный HTTP GET документа из сервера. Не используйте это, если вы не имеете причину полагать, что диск и кэши памяти выключены или разбиты, или сервер имеет новую версию документа (возможно это сгенерировано на каждом запросе CGI).

    Метод

    location

    Выполненный в

    Navigator 3.0

    Описание

    Метод reload вынуждает перезагрузку документа, определенного URL в свойстве location.href.

    Этот метод производит тот же самый эффект что и использования кнопки Navigator's Reload. Пользователь устанавливает значение по умолчанию этой стратегии, выбирая из меню Options, и определение Проверяет Документы на метке табуляции Кэша диалогового окна Preferences.

    Метод reload не вынуждает транзакцию с сервером, если пользователь не установил предпочтение для Каждый раз, когда это делает " условное выражение, ПОЛУЧАЮТ " запрос, используя " если изменяется с тех пор " HTTP заголовок, просить, чтобы сервер возвратил документ только, если его в последний раз-изменяемое время более новое чем время, клиент хранит в его кэше. Другими словами, перезагрузка перезагрузит из кэша, если пользователь не определил, каждый раз и документ изменился на сервере, так как это было последнее загружено и сохранено в кэше.

    В обработчиках события, вы должны определить window.location.reload () вместо просто использования location.reload (). Из-за обзора статических объектов в JavaScript, обращение к расположению без того, чтобы определять объектное имя эквивалентно document.location, который является синонимом для документа. URL.

    Примеры

    Следующий пример отображает изображение и три "радио" кнопки. Пользователь может нажимать "радио" кнопки, чтобы выбрать, которое изображение отображается. Нажатие другой кнопки позволяет пользователю перезагружать документ.

    <SCRIPT> function displayImage(theImage) { document.images[0].src=theImage } </SCRIPT> <FORM NAME="imageForm"> <B>Выберите изображение:</B> <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED onClick="displayImage('seaotter.gif')"> Морская выдра <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image2" onClick="displayImage('orca.gif')"> Кит Подавителя <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image3" onClick="displayImage('humpback.gif')"> Кит Горба <BR> <IMG NAME="marineMammal" SRC="seaotter.gif" ALIGN="left" VSPACE="10"> <P> <INPUT TYPE="button" VALUE="Click here to reload" onClick="window.location.reload()"> </FORM>

    Смотрите также

    Метод замены


    Замена

    <;<New. > >

    Метод. Загружает определенный URL над текущим входом хронологии.

    Синтаксис

      
    Location.replace ("URL")
     

    Параметры

    URL определяет URL, чтобы загрузиться.

    Метод

    location

    Выполненный в

    Navigator 3.0

    Описание

    Метод замены загружает определенный URL над текущим входом хронологии, так после того, как метод замены используется, пользователь не может перемещаться к предыдущему URL, используя кнопку Navigator's Back.

    В обработчиках события, вы должны определить window.location.replace () вместо просто использования location.replace (). Из-за обзора статических объектов в JavaScript, обращение к расположению без того, чтобы определять объектное имя эквивалентно document.location, который является синонимом для документа. URL.

    Примеры

    Следующий пример позволяет пользователю выбирать среди нескольких каталогов, чтобы отобразить. Пример отображает два набора "радио" кнопок, которые позволяют пользователю выбирать сезон и категорию, например Вес& / лето, одевающая каталог или Начало Падения / зимы и каталог Сада. Когда пользователь нажимает кнопку Go, функция displayCatalog выполняет метод замены, заменяя поток(текущего) URL с URL, соответствующим для каталога, пользователь выбрал. Обратите внимание, что после того, как метод замены используется, пользователь не может перемещаться к предыдущему URL (список каталогов) используя кнопку Navigator's Back.

    <SCRIPT> function displayCatalog() { var seaName="" var catName="" for (var i=0; i < document.catalogForm.season.length; i++) { if (document.catalogForm.season[i].checked) { seaName=document.catalogForm.season[i].value i=document.catalogForm.season.length } } for (var i in document.catalogForm.category) { if (document.catalogForm.category[i].checked) { catName=document.catalogForm.category[i].value i=document.catalogForm.category.length } } fileName=seaName + catName + ".html" location.replace(fileName) } </SCRIPT> <FORM NAME="catalogForm"> <B>Который каталог вы хотите видеть?</B> <P> <B>Сезон</B> <BR> <INPUT TYPE="radio" NAME="season" VALUE="q1" CHECKED> Вес&amp; / лето <BR> <INPUT TYPE="radio" NAME="season" VALUE="q3"> Падение / зима <P> <B>Категория</B> <BR> <INPUT TYPE="radio" NAME="category" VALUE="clo" CHECKED> Одежда <BR> <INPUT TYPE="radio" NAME="category" VALUE="lin"> Полотна <BR> <INPUT TYPE="radio" NAME="category" VALUE="hom"> Начало и Сад <P> <INPUT TYPE="button" VALUE="Go" onClick="displayCatalog()"> </FORM>

    Смотрите также

    Метод перезагрузки


    Метод reset

    <<New. > >

    Метод. Кнопка для возвращения всем объектам form значение по умолчанию.

    Синтаксис

      
    formName.reset ()
     

    Параметры

    formName - имя любой формы или элемента в массиве form.

    Метод

    form

    Выполненный в

    Navigator 3.0

    Описание

    Метод reset восстанавливает значения по умолчанию элемента формы. Кнопка reset не нужно определять для формы.

    Примеры

    Следующий пример отображает объект Text, в котором пользователь должен напечатать "CA" или "AZ". Обработчик события onChange объекта text вызывает функцию, которая выполняет метод reset формы если пользователь, неправильно ввел. Когда метод reset выполняется, значения по умолчанию восстанавливаются, и обработчик события onReset формы отображает сообщение.

    <SCRIPT> function verifyInput(textObject) { if (textObject.value == 'CA' || textObject.value == 'AZ') { alert('Nice input') } else { document.form1.reset() } } </SCRIPT> <FORM NAME="form1" onReset="alert('Please enter CA or AZ.')"> Введите CA или AZ: <INPUT TYPE="text" NAME="state" SIZE="2" onChange=verifyInput(this)> <P> </FORM>

    Смотрите также

    Обработчик события onReset, объект Reset { reset }


    Сбросьте объект

    <<Changed.>>

    Следующие свойства были добавлены к объекту reset:

    Свойство Описание
    type Отражает атрибут TYPE

    Смотрите также

    Обработчик события OnReset, и метод reset


    reverse

    <<New.>>

    Метод. Перемещает элементы массива: первый элемент массива становится последним, и последний становится первым.

    Синтаксис

      
    arrayName.reverse ()
     

    Параметры

    arrayName - имя объекта Array или свойство существующего объекта.

    Метод

    array

    Выполненный в

    Navigator 3.0

    Описание

    етод reverse перемещает элементы вызванного объекта массива.

    Примеры

    Следующий пример создает массив myArray, содержащий три элемента, и затем перемещает массив.

    myArray = new Array ("один", "два", "три") myArray.reverse ()

    Смотрите также

    Методы join , sort


    scroll

    <<New.>>

    Метод. Пролистывает окно до определенной координаты.

    Синтаксис

       
    windowReference.scroll(x-coordinate,y-coordinate)
      

    Параметры

    windowReference - этот способ допустимый для окна, как описано в объекте Window. { window }

    x-coordinate - целое число, представляющее x-координату в пикселах.

    y-coordinate - целое число, представляющее y-координату в пикселах.

    Метод

    window

    Выполненный в

    Navigator 3.0

    Описание

    JavaScript не отображает размерности документа в пикселах, поэтому при использовании метода scroll, вы должны высчитывать координаты y и x. Верхние левые координаты документа - 0,0.

    Примеры

    Пример 1. Пролистывание текущего окна. Следующий пример пролистывает текущее окно до координат 50,100.

    window.scroll (50,100)

    Пример 2. Пролистывает любое окно. Следующий код, который существует в одном фрейме, пролистыват второй фрейм. Два объекта text позволяют пользователю определять координаты y и x. Когда пользователь нажимает кнопку Go, документ в frame2 прокручивается к определенным координатам.

    <SCRIPT> function scrollIt(form) { var x = parseInt(form.x.value) var y = parseInt(form.y.value) parent.frame2.scroll(x,y) } </SCRIPT> <BODY> <FORM NAME="myForm"> <P> <B>Введите координаты, чтобы пролистать до:</B> <BR> Горизонтальной: <INPUT TYPE="text" NAME=x VALUE="0" SIZE=4> <BR> Вертикальной: <INPUT TYPE="text" NAME=y VALUE="0" SIZE=4> <BR> <INPUT TYPE="button" VALUE="Go" onClick="scrollIt(document.myForm)"> </FORM>

    search

    <<Changed.>>

    Свойство search - теперь Свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен для свойства search:

      
    areaName.search
     

    Параметры

    areaName - значение атрибута NAME объекта Area ..

    Свойство

  • Объект area

    Описание

    вы можете устанавливать Свойство search в любое время.


    select

    <<Changed.>>

    вы можете теперь изменять текст Option в объекте Select, и вы можете создавать Option, использующие конструктор new Option().

    Изменения текста Option

    Чтобы изменить текст Option, используйте Свойство text массива Option. Например, пусть форма имеет следующий объект Select:

    <SELECT name="userChoice"> <OPTION> Выбор 1 <OPTION> Выбор 2 <OPTION> Выбор 3 </SELECT>

    вы можете устанавливать текст iую единицу выбора, основанное на тексте, введенное в текстовом поле whatsNew следующим образом:

    myform.userChoice.options[i].text = myform.whatsNew.value

    Например, введите какой-нибудь текст в первое текстовое поле, а затем введите номер между 0 и 2 во второе текстовое поле. Когда вы нажимаете кнопку, текст будет изменен выбранного номера option.


    Введите текст, накоторый заменять:
    Номер Опции, которую изменить:
    Код для этого примера выглядит следующим образом: <SCRIPT> function doit(theform,i) { theform.userChoice.options[i].text = theform.whatsNew.value } </SCRIPT> <FORM> <SELECT name="userChoice"> <OPTION> Выбор 1 <OPTION> Выбор 2 <OPTION> Выбор 3 </SELECT> <BR> Введите текст, накоторый заменять: <INPUT TYPE="text" NAME="whatsNew"> <BR> Номер Опции, которую изменить: <INPUT TYPE="text" NAME="idx"> <BR> <INPUT TYPE="button" VALUE="Change Selection" onClick="doit(this.form, this.form.idx.value)"> </FORM>

    Добавление опций, использующих конструктор Option()

    Синтаксис

    Добавляйте опции к существующему объекту Select:

    optionName = new Option ([optionText, optionValue, defaultSelected, selected ])
     

    Добавление new Option к существующему объекту Select:

     
    selectName.options [index] =optionName
     

    Параметры

    optionName является или именем нового объекта или свойством существующего объекта.

    optionText определяет текст, который будет отображен в списке select. вы можете обращаться к этому значению, используя Свойство text.

    optionValue определяет значение, которое будет возвращено серверу, когда опция выбрана, и форма подчинена. вы можете обращаться к этому значению, используя Свойство value.

    defaultSelected определяет, выбрана ли опция первоначально (истина или ложь). вы можете обращаться к этому значению, используя Свойство defaultSelected.

    selected определяет текущее состояние опции select (истина или ложь). вы можете обращаться к этому значению, используя Свойство selected.

    selectName - имя существующего объекта Select.

    index - целое число, представляющее опцию в объекте Select. вы можете обращаться к этому значению, используя Свойство index.

    Описание

    Каждая опция созданная при использование конструктора Option()- объект и имеет те же самые свойства, что и элементы массива options.

    После того, как вы создали опции и добавили их к объекту Select, вы должны обновить документ, используя history.go(0). Это утверждение должно быть последнее. Когда документ перезагружается, то переменные теряются, если не сохранены в cookies или значении элемента form.

    Примеры

    Следующий пример создает два объекта Select, один без атрибута MULTIPLE, а один с атрибута MULTIPLE. Никакие опции первоначально не определены для любого объекта. Когда пользователь нажимает кнопку, связанную с объектом Select, функция populate создает четыре опции для объекта Select и выбирает первую опцию. <SCRIPT> function populate(inForm) { colorArray = new Array("Red", "Blue", "Yellow", "Green") var option0 = new Option("Red", "color_red") var option1 = new Option("Blue", "color_blue") var option2 = new Option("Yellow", "color_yellow") var option3 = new Option("Green", "color_green") for (var i=0; i < 4; i++) { eval("inForm.selectTest.options[i]=option" + i) if (i==0) { inForm.selectTest.options[i].selected=true } } history.go(0) } </SCRIPT> <H3> Select конструктора Option()</H3> <FORM> <SELECT NAME="selectTest"> </SELECT> <P> <INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)"> <P> </FORM> <HR align=center width=250> <H3> Опция конструктора multiple select()</H3> <FORM> <SELECT NAME="selectTest" multiple> </SELECT> <P> <INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)"> </FORM>

    Удаление опций

    Синтаксис

    Удаление опций из объекта Select:
      
    selectName.options [index] = null
    

    Параметры

    selectName - имя существующего объекта Select.

    index - целое число, представляющее опцию в объекте Select.

    Описание

    Стирание сжимает массив options. Например, если вы удаляете options[0], существующие options[1] становятся options[0]. Поэтому лучше удалять сначала опции в конце массива.

    Примеры

    Следующая функция удаляет опцию из объекта Select.

    function deleteAnItem(theList,itemNo) { theList.options[itemNo]=null history.go(0)}

    Изменение состояния select

    Следующее утверждения будут добавлено к документации для объекта Select; однако, это - не новые функциональные возможности.

    вы можете использовать свойства selected и selectedIndex, чтобы изменить состояние опций select в объекте Select.

    Свойства

    Следующие свойства были добавлены к объекту Select:

    Свойство Описание
    text Это не новое Свойство, теперь оно может быть изменено и текст, отображаемый опцией изменен в объекте Select
    type Определяет, что объект - это объект Select и указывает, определен ли MULTIPLE

    Объекты, созданные при использование конструктора Option(), имеют следующие свойства:

    Свойство Описание
    defaultSelected Определяет начальное состояние выбора опции
    index Определяет индекс опции в объекте Select
    prototype Позволяет Вам добавлять свойства к опции.
    selected Определяет текущее состояние выбора опции
    text Определяет текст для опции
    value Определяет значение, которое возвращено серверу, когда опция выбрана, и форма подченина


    selected

    <<Changed.>>

    Свойство selected - теперь Свойство объекта Option.

    Синтаксис

    Следующий синтаксис был добавлен для свойства selected :

      
    optionName.selected
     

    Параметры

    optionName - имя созданной опции объекта Select, при использование конструктора Option().

    Свойство

  • Объект select

    sort

    <<New.>>

    Метод. Сортирует элементы массива.

    Синтаксис

      
    arrayName.sort(compareFunction)
     

    Параметры

    arrayName - имя объекта Array или свойство существующего объекта.

    compareFunction определяет функцию, которая определяет порядок сортировки. Если опущена, то массив сортируется лексикографически (в порядке словаря) согласно строковому преобразованию каждого элемента.

    Метод

    array

    Выполненный в

    Navigator 3.0

    Описание

    Если compareFunction не обеспечен, элементы сортируются, преобразуя(конвертируя) их к строкам и сравнивая строки в лексикографическом ("словарь" или " телефонная книга, " не числовой) упорядочивают(заказывают). Например, "80" приходит, прежде "9" в лексикографическом порядке, но если вы сравниваете числа 9 потребностей прийти прежде 80.

    Если отсутствует compareFunction, то элементы массива сортируются согласно строковому значению строковой функции. Если a и b - два сравниваемые элемента, то:

    Поэтому сравнивающаяся функция имеет следующую форму:

    function compare(a, b) { if (a is less than b by some ordering criterion) return -1 if (a is greater than b by the ordering criterion) return 1 // a must be equal to b return 0 }

    Чтобы сравнивать числа вместо строк, сравнивающаяся функция может просто вычитать b из a:

    function compareNumbers(a, b) { return a - b }

    JavaScript использует устойчивый sort: индексный частичный порядок a и b не изменяется, если a и b равен. Если индекс a был меньше чем b, то перед сортировкой, это будет и после сортироваки, независимо от того, как a и b будут расположены после сортировки.

    Примеры

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

    <SCRIPT> stringArray = new Array("Blue","Humpback","Beluga") numericStringArray = new Array("80","9","700") numberArray = new Array(40,1,5,200) mixedNumericArray = new Array("80","9","700",40,1,5,200) function compareNumbers(a, b) { return a - b } document.write("<B>stringArray:</B> " + stringArray.join() +"<BR>") document.write("<B>Sorted:</B> " + stringArray.sort() +"<P>") document.write("<B>numberArray:</B> " + numberArray.join() +"<BR>") document.write("<B>Sorted without a compare function:</B> " + numberArray.sort() +"<BR>") document.write("<B>Sorted with compareNumbers:</B> " + numberArray.sort(compareNumbers) +"<P>") document.write("<B>numericStringArray:</B> " + numericStringArray.join() +"<BR>") document.write("<B>Sorted without a compare function:</B> " + numericStringArray.sort() +"<BR>") document.write("<B>Sorted with compareNumbers:</B> " + numericStringArray.sort(compareNumbers) +"<P>") document.write("<B>mixedNumericArray:</B> " + mixedNumericArray.join() +"<BR>") document.write("<B>Sorted without a compare function:</B> " + mixedNumericArray.sort() +"<BR>") document.write("<B>Sorted with compareNumbers:</B> " + mixedNumericArray.sort(compareNumbers) +"<BR>") </SCRIPT>

    Смотрите также

    Методы join , reverse


    split

    <<New.>>

    Метод. Разбивает объект String в массив строк, разделяя строку в подстроки.

    Синтаксис

      
    stringName.split ([separator])
     

    Параметры

    stringName - любая строка или Свойство существующего объекта.

    separator определяет символ, который используется для разделения строки. separator обрабатывается как строка. Если separator опущен, то возвращенный массив содержит один элемент, состоящий из всей строки.

    Метод

    String

    Выполненный в

    Navigator 3.0

    Описание

    Метод split возвращает новый массив.

    Примеры

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

    <SCRIPT> function splitString (stringToSplit,separator) { arrayOfStrings = stringToSplit.split(separator) document.write ('<P>The original string is: "' + stringToSplit + '"') document.write ('<BR>The separator is: "' + separator + '"') document.write ("<BR>The array has " + arrayOfStrings.length + " elements: ") for (var i=0; i < arrayOfStrings.length; i++) { document.write (arrayOfStrings[i] + " / ") }} var tempestString="Oh brave new world that has such people in it." var monthString="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" var space=" " var comma="," splitString(tempestString,space) splitString(tempestString) splitString(monthString,comma) </SCRIPT>

    Смотрите также

    Методы charAt, indexOf, lastIndexOf


    src

    <<New.>>

    Свойство. Строка, определяющая URL изображения, которое нужно отобразить в документе.

    Синтаксис

    imageName.src
     

    Параметры

    imageName является или именем объекта Image или элемента в массиве images.

    Свойство

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство src первоначально отражает атрибут SRC тега <IMG>. Установка свойства src начинается с загрузки нового URL в область изображения (и прерывает передачу любых данных изображения, который уже загружены в ту же самую область). Следовательно, если вы хотите изменить свойство lowsrc, то вы должны делать это перед установкой свойства src. Если URL в свойстве src ссылается на изображение, которое - не имеет тот же самый размер, что и размер изображения в которое загружается, то исходное изображение масштабируется.

    Когда вы изменяете Свойство src отображаемого изображения, новое изображение, которое вы определяете, отображается в области, определенной для первоначального изображения. Например, предположим, что объект Image первоначально отображает файл beluga.gif:

    <IMG NAME="myImage" SRC="beluga.gif" ALIGN="left">

    Если вы устанавливаете myImage.src ='seaotter.gif ', изображение seaotter.gif отображается в том же самом место, которое первоначально использовало beluga.gif, даже если seaotter.gif - не имеет тот же самый размер, что и beluga.gif.

    вы можете изменять Свойство src в любое время.

    Примеры

    Следующий пример отображает изображение и три переключателя. Пользователь может нажимать переключатели, чтобы выбрать, какое изображение отображать. Каждое изображение использует Свойство lowsrc, чтобы отобразить изображение низкого разрешения.

    <SCRIPT> function displayImage(lowRes,highRes) { document.images[0].lowsrc=lowRes document.images[0].src=highRes } </SCRIPT> <FORM NAME="imageForm"> <B>Выберите изображение:</B> <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED onClick="displayImage('f15el.gif','f15e.gif')"> F-15 Орел <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image2" onClick="displayImage('f15e2l.gif','f15e2.gif')"> F-15 Орел 2 <BR> <INPUT TYPE="radio" NAME="imageChoice" VALUE="image3" onClick="displayImage('ah64l.gif','ah64.gif')"> АХ -64 Apache <BR> <IMG NAME="aircraft" SRC="f15e.gif" LOWSRC="f15el.gif" ALIGN="left" VSPACE="10"> <BR> </FORM>

    Смотрите также примеры для объекта image .

    Смотрите также

    Свойства complete , lowsrc


    String

    <<Changed.>>

    Объекты String - теперь объекты "real". В предыдущих версиях, вы создвали строки, используя некоторые символы, а если вы хотели использовать строку как объект, то вы следовали за строковой ссылкой свойства или имени метода типа .length или .indexOf ("sub"). Теперь вы можете создавать объекты String, при использование конструктора String().

    Синтаксис

    Создание объекта String:

    stringObjectName = new String(string) 
     

    Параметры

    stringObjectName - имя нового объекта String.

    string - любая строка.

    Описание

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

    var myString = otherWindow.theirString + "" // 2.x: needed empty string var myString = otherWindow.theirString // 3.x: no empty string required

    Свойства

    Следующие свойства были добавлены к объекту String:

    Свойство Описание
    prototype Позволяет Вам добавлять свойства к объекту String.

    Методы

    Следующие методы были добавлены к объекту String:

  • split

    Примеры

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

    var lastName = new String("Schaefer") var firstName = new String ("Jesse") empWindow=window.open('string2.html','window1','width=300,height=300')

    Если HTML - источник второго окно (string2.html) создает две строковые переменные: empLastName и empFirstName, то следующий код в первом окне, присваивает значения переменным второго окна:

    empWindow.empFirstName=firstName empWindow.empLastName=lastName

    Следующий код в первом окне показывает значения переменных второго окна:

    alert('empFirstName in empWindow is ' + empWindow.empFirstName) alert('empLastName in empWindow is ' + empWindow.empLastName)

    submit

    <<Changed.>>

    Следующие свойства были добавлены к объекту Submit:

    Свойство Описание
    type Отражает атрибут TYPE


    suffixes

    <<New.>>

    Свойство.


    taint

    <<New.>>

    Функция. Добавляет tainting к свойству.

    Синтаксис

      
    taint(propertyName)
     

    Параметры

    propertyName - Свойство taint.

    Выполненный в

    Navigator 3.0

    Описание

    Эта функция в настоящее время зарегистрирована в данные tainting.

    Смотрите также

    Функция untaint


    target

    <<Changed.>>

    Свойство target - теперь Свойство объекта Area.

    Синтаксис

    Следующий синтаксис был добавлен к свойству target :

      
    areaName.target
     

    Параметры

    areaName - значение атрибута NAME объекта Area .

    Свойство

  • Объект area

    Описание

    target - строка, определяющая имя окна, которое отображает содержание нажатой области.

    Свойство target первоначально отражает атрибут TARGET тега <AREA>; хотя, если вы установили target, то этот атрибут отменяется.

    Свойству target не может быть присвоено значение выражения JavaScript или переменной.

    Вы можете устанавливать свойство target в любое время.


    Text

    <<Changed.>>

    Следующие свойства были добавлены к объекту Text:

    Свойство Описание
    type Отражает атрибут TYPE


    text

    <<Changed.>>

    Свойство text массива option теперь может быть изменен и изменен текст, отображаемый option в объекте Select. В предыдущих версиях, вы могли установить свойство text, но новое значение не отражалось в объекте Select.

    Свойство text - теперь свойство объекта Option.

    Синтаксис

    Следующий синтаксис был добавлен к свойству text:

      
    optionName.text
     

    Параметры

    optionName - имя созданной опции объекта Select, при использование конструктора Option().

    Свойство

  • Объект select

    Textarea

    <<Changed.>>

    Следующие свойства были добавлены к объекту Textarea:

    Свойство Описание
    type Определяет, что объект - это объект Textarea


    toString

    <<New.>>

    Метод. Преобразовывает объект в строку.

    Синтаксис

      
    objectName.toString ([ radix ])
    

    Параметры

    objectName - объект, который преобразовывается в строку.

    radix определяет основание, которое используется для представления числовых значений.

    Метод

    toString - метод всех объектов.

    Выполненный в

    Navigator 2.0 ( radix , добавлено в 3.0)

    Описание

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

    Если объект не имеет никакого строкового значения, его метод toString возвращает " [object type] " где type - тип объекта. Например, если существует следующий объект Image с именем "sealife", то sealife.toString() возвращает [object Image].

    <IMG NAME="sealife" SRC="seaotter-1.gif" ALIGN="left" VSPACE="10">

    Когда используется с массивом, toString соединяет массив и возвращает одну строку, содержащую каждый элемент массива, отделяемый запятыми. Например, следующий код создает массив и преобразовывает массив к строке.

    var monthNames = new Array("Jan","Feb","Mar","Apr") document.write("monthNames.toString() is " + monthNames.toString())

    Для объектов Function, toString декомпилирует функцию обратно в каноническую исходную строку.

    Примеры

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

    for (x = 0; x < 10; x++) { document.write("Decimal: ", x.toString(10), " Binary: ", x.toString(2), "<BR>") }


    type

    <<New.>>

    Свойство. Для элементов формы, созданных тегами <INPUT>, <SELECT> или <TEXTAREA >, строка, определяющая тип элемента формы. Для объектов mimeType, имя типа MIME.

    Синтаксис

      
    1. objectName.type
    2. mimeTypes [index].type
     

    Параметры

    objectName является или значением атрибута NAME объекта элемента формы (button, checkbox, hidden, password, radio, reset, select, submit, text, или textarea) или элемент в массиве элементов.

    Свойство

    button , checkbox , fileUpload, hidden , mimeType, password , radio , reset , select , submit , text , textarea

    Выполненный в

    Navigator 3.0

    Описание

    Значение свойства type присваивается элементам формы следующим образом:

    HTML элемент Значение свойства type
    NPUT TYPE="button" "button"
    NPUT TYPE= "checkbox" "checkbox"
    NPUT TYPE= "file" "file"
    NPUT TYPE= "hidden" "hidden"
    NPUT TYPE= "password" "password"
    NPUT TYPE= "radio" "radio"
    NPUT TYPE= "reset" "reset"
    NPUT TYPE= "submit" "submit"
    NPUT TYPE= "text" "text"
    SELECT "select-one"
    SELECT MULTIPLE "select-multiple"
    TEXTAREA "textarea"


    typeof

    <<New.>>

    Оператор. Возвращает строку, указывающая тип неоцененного операнда.

    Синтаксис

      
    1. typeof  operand 
    2. typeof ( operand) 

    Параметры

    operand - строка, переменная, ключевое слово, или объект, для которого тип должен быть возвращен. Круглые скобки произвольны.

    Примеры

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

    var myFun = new Function("5+2") var shape="round" var size=1 var today=new Date()

    Для слов true и null, оператор typeof возвращает следующие результаты:

    Для числа или строки, оператор typeof возвращает следующие результаты:

    Для значений свойств, оператор typeof возвращает тип значения, содержащего свойства:

    Для методов и функций, оператор typeof возвращает следующие результаты:

    Для объектов, оператор typeof возвращает следующие результаты:


    untaint

    <<New.>>

    Функция. Удаляет tainting из свойства.

    Синтаксис

      
    untaint(propertyName)
     

    Параметры

    propertyName - свойство, из которого удалить tainting.

    Выполненный в

    Navigator 3.0

    Описание

    Эта функция в настоящее время зарегистрирована в Данные tainting .

    Примеры

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

    untainted = untaint(document.form1.input3)

    Смотрите также

    Функцию taint


    value

    <<Changed.>>

    Свойство value - теперь свойство следующих объектов:

  • FileUpload
  • Option

    Синтаксис

    Следующий синтаксис был добавлен для свойства value :

    fileUploadName.value 
    optionName.value 

    Параметры

    fileUploadName является или значением атрибута NAME объекта FileUpload или элементом в массиве elements.

    optionName - имя созданной опции объекта Select, при использование конструктора Option().

    Описание

    Опции объекта Select

    Поскольку опции объекта Select создаются при помощи конструктора option(), то свойство значения - строка, которая первоначально отражает атрибут VALUE. Это значение не отображается на экране, но возвращает серверу, если опция выбрана. Значение этого свойства может изменяться, когда программа изменяет его.

    Вы можете устанавливать свойство value в любое время.

    Объекты FileUpload

    Свойство value - строка, которая отражает текущее значение поля объекта FileUpload. Используйте свойство value, чтобы получить имя файла, который пользователь, печатает в объект FileUpload.

    value - свойство только для чтения.

    Свойство

  • fileUpload
  • Объект Select

    void

    <<New.>>

    Оператор. Определяет выражение, которое оценивается без возвращение значения.

    Синтаксис

      
    1. JavaScript:void  (expression). 
    JavaScript:void expression  

    Параметры

    expression - выражение JavaScript, которое оценивается. Круглые скобки, окружающие выражение, произвольны, но если вы хотите, что бы ваш код выглядел красиво используйте их.

    Описание

    Используйте оператор void, чтобы определить выражение как гиперссылку. Выражение будет оценено, но не загружено в текущем документе.

    Следующий код создает гиперссылку, которая ничего не делает, когда пользователь нажимает на нее. Когда пользователь нажимает на ссылку, void(0) оценивается к 0, и поэтому не имеет никакого эффекта в JavaScript.

    <A HREF="javascript:void(0)">Нажмите здесь</A> Как это выглядит на экране

    Нажмите здесь

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

    <A HREF="javaScript:void(document.form.submit())">Нажмите здесь</A>

    Смотрите также

    Объекты area, link


    vspace

    <<New.>>

    Свойство. Строка, определяющая поле в пикселах между верхними и нижними гранями изображения и окружающего текста

    Синтаксис

      
    imageName.vspace
     

    Параметры

    imageName является или именем объекта Image или элементом в массиве image.

    Свойство

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство vspace отражает атрибут VSPACE тега <IMG>. Для изображений, созданных при помощи конструктора Image(), значение свойства vspace - 0.

    vspace - свойство только для чтения.

    Примеры

    Смотрите примеры для свойства height .

    Смотрите также

    Свойства border , height , hspace, width


    width

    <<New.>>

    Свойство. Строка, определяющая ширину изображения или в пикселах или в процентах от ширины окна.

    Синтаксис

      
    imageName.width
     

    Параметры

    imageName является или именем объекта Image или элементом в массиве image.

    Свойство

    image

    Выполненный в

    Navigator 3.0

    Описание

    Свойство width отражает атрибут WIDTH тега <IMG>. Для изображений, созданных при помощи конструктора Image(), значение свойства width фактическая, не отображенная, ширина изображения.

    width - свойство только для чтения.

    Примеры

    Смотрите примеры для свойства height .

    Смотрите также

    Свойства border , height , hspace, vspace


    Window

    <<Changed.>>

    Свойства

    Следующие свойства были добавлены к объекту Window:

    Свойство Описание
    opener Определяет имя окна вызванного документа, когда окно открыто при использование метода open

    Методы

    Следующие методы были добавлены к объекту Window:

  • blur
  • focus
  • scroll

    Обработчики События

    Следующие обработчики события были добавлены к объекту Window:

  • onBlur
  • onError
  • onFocus

    Синтаксис

    Следующий синтаксис был добавлен к тегам <BODY> И <FRAMESET>:

       
    <BODY > ... 
    [onBlur = "handlerText"] 
    [onFocus = "handlerText"] 
    ... 
    </BODY >

    <FRAMESET> ... [<FRAME SRC = "locationOrURL" NAME = "frameName" >] [onBlur = "handlerText"] [onFocus = "handlerText"] ... </FRAMESET >

    Обратите внимание: На платформах Windows, размещение обработчиков событий onBlur или onFocus в тег <FRAMESET> не имеет никакого эффекта.

    Синтаксис

    Следующий синтаксис был добавлен к объекту Window для определения обработчика события onError объекта Window:
      
    window.onerror=errorHandler
     

    Параметры

    errorHandler - слово null, имя функции обработчика событий, или переменной или свойства, которое содержит null или допустимую ссылку по функциям.

    Для информации относительно определения обработчика события onError, смотрите обработчик события onError.

    Дополнительное описание

    Когда вы ссылаетесь на объект Location внутри обработчика события, вы должны определить window.location вместо просто использования location. При рассмотрении статических объектов в JavaScript, обращение к location без определения имени объекта эквивалентно document.location, который является синонимом для документа URL.




    Вызов обработчиков события

    Вы можете сбрасывать обработчик события, определенный HTML внутри JavaScript, например: <SCRIPT LANGUAGE="JavaScript"> function fun1() { ... } function fun2() { ... } </SCRIPT> <FORM NAME="myForm"> <INPUT TYPE="button" NAME="myButton" onClick="fun1()"> </FORM> <SCRIPT> document.myForm.myButton.onclick = fun2 </SCRIPT> Обратите внимание, что обработчики события - ссылаются на функции, поэтому вы должны присвоить fun2, а не fun2() (последние вызывает fun2 и имеете любой тип и возвращает значения).

    Также, так как обработчик события HTML атрибуты - литеральные функциональные тела, вы не можете использовать <INPUT onClick=fun1> в HTML источнике, чтобы выполнить fun1 обработчиком onClick для ввода; вы должны вызвать fun1 вместо, как показано в примере.

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


    Индексация свойств объекта

    Когда Вы определяете свойства объекта с именами свойств, то вы не можете обратиться к этим свойствам их порядковым индексом, как вы могли в Navigator 2.0. Это применяется, когда вы создаете объект и его свойства при использование конструктора функций, как в вышеупомянутом примере Car типа объекта, и когда вы определяете индивидуальные свойства явно (например, myCar.color = "red").

    Если Вы определяете объектные свойства первоначально с индексом, например,

    myCar[5] = "25 mpg" то затем впоследствии вы можете обратиться к свойству как myCar[5].

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

    Исключение из этого правила - объекты, отраженные в HTML: например, фреймы, формы, элементы, и массивы якорей. Вы можете всегда обращаться к этим объектам по их порядковому числу (основанный на том, в каком порядке они расположены в документе) и по их имени (если оно определено). Например, вы можете обратиться ко второй форме в документе как document.forms[1] или как document.myform, если второй тег <FORM> имеет атрибут NAME = "myform".


    Объекты JavaScript

    JavaScript объекты позволяют вам использовать выражение JavaScript как значение для HTML атрибута. Это позволяет вам создавать более гибкие конструкции HTML.

    Вы может быть уже знакомы с объектами символа HTML, которыми вы можете определять символы со специальными числовыми кодами или именами, предшествуя имени с символом амперсанта и завершая его с точкой запятой. Например, вы можете включить символ "больше чем" (>) с символьным объектом > И символом " меньше чем " (<) с <.

    JavaScript объекты также начинаются с символа амперсанта и в конце с точкой запятой. Вместо имени или номера, вы используете выражение JavaScript, заключенное в фигурные скобки {}. Вы можете использовать JavaScript объекты только, там где HTML атрибут со значением шел бы обычно. Например, предположим, что вы определяете переменную barWidth. Вы можете создать горизонтальную линию с определенной шириной в процентах следующим образом:

    <HR WIDTH="&{barWidth};%"> Так, например, если бы переменная barWidth была бы ровна 50, то на экране это выглядело бы следующим образом:
    И как всегда, если вы изменили вашу страницу, то дисплей страницы может измениться только, тогда когда вы перезагрузите вашу страницу.


    Атрибут SRC тега SCRIPT

    Тег <SCRIPT> HTML имеет новый атрибут SRC, который позволяет вам определять файл как JavaScript источник. Например: <HEAD><TITLE>My Page</TITLE> <SCRIPT SRC="common.js"> ... </SCRIPT> </HEAD> <BODY> ...

    Любые утверждения JavaScript в теге SCRIPT с атрибутом SRC игнорируются. Обратите внимание, однако, что требуется заключительный тег </SCRIPT>.

    Атрибут SRC со значением может быть любой URL, относительный или абсолютный. Например:

    <SCRIPT SRC="jsfuncs.js">

    Внешние JavaScript файлы особенно полезно использовать совместно с функциями во многих различных страниц. JavaScript - файлы не содержащие любые теги HTML: они должны содержать только утверждения JavaScript и функциональные определения.

    JavaScript - файлы должны иметь имя файла с расширением .js, и сервер должен отображать .js в MIME, напечатает "application/x-javascript", который сервер посылает обратно в HTTP заголовк. Если сервер не отображает .js имени файла в application/x-javascript типа MIME, Navigator не будет загружать JavaScript файл, определенный атрибутом SRC правильно.

    Обратите внимание: Это требование не применяется, если вы используете локальные файлы.


    Тег NOSCRIPT

    Тег <NOSCRIPT> подобен тегу NOFRAMES для фреймов. HTML включенный внутри тега отображается как non-JavaScript браузера; код, включенный внутри тега hiden, игнорируется Navigator. Используйте этот тег, чтобы определить альтернативное содержание для браузера, который не поддерживают JavaScript, или в случае, если пользователь отключил JavaScript в Options | Network Preferences.

    Например:

    <NOSCRIPT> <B>This page uses JavaScript, so you need to get Netscape Navigator 2.0 or later! <BR><A HREF="index.html"> <IMG SRC="NSNow.gif"></A> If you are using Navigator 2.0 or later, and you see this message, you need to enable JavaScript by choosing Options | Network Preferences. </NOSCRIPT> ...


    Данные tainting

    Navigator (версия 2.02 и позже) автоматически прекращает скрипты на одном сервере из доступных свойств документов на различных серверах. Это ограничение прекращает скрипты от выборки частной информации типа структур каталога или хронологии сеанса пользователя. Однако, это ограничение также воздействует на некоторые законные приложения, типа сценарии "navigation helper", которые используют фреймы и должны видеть содержание других фреймов, независимо от их происхождения.

    JavaScript теперь имеет возможность, называемую данными tainting, которая сохраняет ограничение защиты, но обеспечивает механизм работы для законных приложений. Когда данные tainting активны, то JavaScript в одном окне будет способен видеть свойства другого окна, независимо с какого сервера документ другого окна был загружен. Однако, если JavaScript в первом окне пытается посылать данные, полученные от свойства другого окна, то отображается диалоговое окно подтверждения, так что пользователь может отменить или подтвердить операцию. По умолчанию, все свойства в втором окне заражаются так, что они не могут быть посланы серверу другого документа в исходном окне.

    Возможность данных tainting:

    Вы можете управлять tainting свойств двумя функциями: taint добавляет tainting к свойству, и untaint удаляет tainting из свойства. Эти функции каждая принимает свойство, как параметр.

    Например, чтобы удалить taint из формы ввода элемента так, чтобы сценарий мог посылать это другому серверу, используйте:

    untainted = untaint(document.form1.input3) // now untainted can be sent in a URL or form post by other scripts

    Ни taint и ни untaint не изменяют ее параметр; скорее, обе функции возвращают отмеченную или немаркированную ссылку к объекту параметра, или копии примитивного значения типа (номер или булево значение). Вы используете untaint, чтобы очистить "код taint" который отмечает данные как принадлежность к серверу, и следовательно не может быть послан другими сценариями различным серверам. Вы используете taint, чтобы отметить данные, который иначе не taint вашим сценарием "код инфекции". Сценарий может untaint только данные, которые имеет его свойство "код taint ", или имеет тождество (null) кода taint. Данные с любым другим сценарием "кода taint" скопированы и возвращены untaint без изменения или ошибки.

    wwwwwwwwwwwwwwwwwwwwwЧтобы обрабатывать случаи, где поток управления скорее чем поток данных несет tainting taint, каждое окно, связывают сумматор инфекции с этим. Сумматор taint задерживает инфекцию, проверенную в части условия того, если, поскольку, и в то время как утверждения, и смеси различные коды инфекции, чтобы создать, новые коды который идентифицируют комбинацию происхождения данных (serverA, serverB, serverC, и т.д.).

    Сумматор инфекции сброшен к тождеству только, если это содержит точно код происхождения текущего(актуального) документа. Иначе это накапливается, пока документ не разгружен. Все окна, загружающие документы из того же самого происхождения совместно используют одиночный сумматор инфекции.

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

    Если сумматор окна задерживает(проводит) инфекцию, заданные сценарием действия, инициализированные из контекста того окна (представление формы; установка расположения, даже расположения другого окна) проверена. Только, если накопленная инфекция сценария, код инфекции целенаправленного сервера, и кода инфекции данных, посылаемых совместима, будет операция продолжаться(переходить). Совместимый здесь означает двоичное отношение: или это, два кода инфекции являются равными, или что по крайней мере каждый является кодом инфекции тождества. Код тождества - подобно нулю для добавления, следовательно его имя.

    Если сценарий, сервер, и инфекции данных несовместимы, диалог подтверждения зарегистрирован к подробности(подробному) находящееся в противоречии происхождение URL префиксы, и позволять пользователю отменять или ХОРОШО загрузку URL или пост формы.

    Накопленная taint распространяется поперек setTimeout и в оценку первого параметра к setTimeout. Это распространяется через document.write в сгенерированные отметки, так, чтобы злонамеренный сценарий не мог сообщать о частной информации типа хронологии сеанса, генерируя отметку HTML с неявно-загруженным параметром URL SRC:

    Document.write (" < img src=fake-img - + Кодируйте (хронологию) + ">")



    на начало страницы