Несмотря на отсутствие прямой связи с языком Java, JavaScript может обращаться к внешним свойствам и методам Java- апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScript могут работать только внутри браузера.
На первой взгляд кажется, что найти информацию по JavaScript несложно. Сначала создается впечатление, что ее можно увидеть везде: на сервере Natscape, в виде электронных руководств и примеров, во многих других местах. Тем не менее разыскать информацию об объектах, операторах, цветах и всем прочем в одном источнике, чтобы она была всегда под рукой, трудно.
Напротив, JavaScript, размещаются внутри HTML страницы и не могут существовать, как отдельные программы и функционируют, будучи запущенными в браузерах типа Netscape Navigator или Internet Explorer.
Следующая таблица сравнивает JavaScript и Java
.
| JavaScript | Java |
|---|---|
| Не компилируемый клиентом. | Компилируемая клиентом перед запуском программы. |
| Объектный язык. | Объектно-ориентированный. |
| Внедренный в HTML - страницу. | Небольшие приложения, отделенные от HTML - страниц. |
| Переменные типы данных, не объявляются. | Переменные типы данных должны быть объявленны (строгий контроль типов). |
| Динамическое закрепление. Ссылки объекта, поверяются во время выполнения. | Статическое закрепление. Ссылки объекта, проверяются во время компиляции. |
Для того чтобы ответить на эти вопросы, давайте внимательно рассмотрим оба языка, проведем
их детальное сравнение и дадим рекомендации по подготовке сценариев, совместимых как с
пакетом Netscape Navigator, так и Internet Explorer.
Без всякого сомнения - да. Созданный как
несложный набор команд для подго-товки сценариев работы клиента, 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 и
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 и следующих версий.
В условиях корпоративной интрасети можно заранее предусмотреть, с какими клиентами и
серверами придется иметь дело. Однако при работе в Web вы не можете знать, кто обратится к
вашему узлу. Поэтому стоит разобраться в достоинствах и недостатках обоих языков, что
позволит сделать обоснованный выбор между ними.
При сравнении базовых функциональных средств JavaScript и
JScript оказывается, что они почти идентичны, особенно с точки зрения синтаксиса и
набора операторов. В таблице 1 приведен список операторов, предусмотренных в обоих языках.
Если вы хоть немного работали с Java или Си/Си++, то большинство операторов в таблице
будут вам хорошо знакомы.
Таблица 1JavaScript компании Netscape
JavaScript - это несомненно превосходный инструмент для
преобразования Web-страниц из безжизненных картинок в динамичные, полностью интерактивные
страницы с незамедлительной реакцией на действия пользователя. Но что делать, если хочется
большего, если тянет вырваться за традиционные рамки задач, возлагаемых на сценарии? Например,
что, если организовать с помощью JavaScript одновременное
решение задачи средствами сервера и клиента? Сможет ли удовлетворить
JavaScript этим пожеланиям? Jscript корпорации Microsoft
В Microsoft практически сразу осознали потенциал JavaScript
и создали собственную версию этого языка сценариев - JScript, - изменив
при этом отдельные его фундаментальные положения. Но JScript также и полномасштабная
система для разработок в Web. Подобно тому как JavaScript
тесно взаимосвязан с технологической моделью Netscape, язык JScript тесно
интегрирован в модель Microsoft. В результате была достигнута всесторонняя
реализация JavaScript с рядом специфических дополнений,
ориентированных на браузер Internet Explorer. Инфраструктуры объектов в JScript
и JavaScript аналогичны, а способ применения
JScript для Web-страниц такой же, как у JavaScript.JavaScript или Jscript
Многогранность и динамичность JavaScript и JScript
объясняются их тесной взаимосвязью с соответствующими инфраструктурами. Так, выбор
JavaScript идеален при работе с клиен-тами и серверами
Netscape, а при использовании соответствующих систем корпорации Microsoft
очевиден выбор языка JScript.
|
Арифметические операторы |
|
|
+ |
Сложение |
|
- |
Вычитание |
|
* |
Умножение |
|
/ |
Деление |
|
++ |
Приращение на единицу |
|
- |
Уменьшение на единицу |
|
- |
Унарный минус |
|
% |
Взятие модуля |
|
Операторы присваивания |
|
|
= |
Присваивание значения |
|
+= |
Увеличение на заданную величину |
|
-= |
Уменьшение на заданную величину |
|
*= |
Умножение на заданную величину |
|
/= |
Деление на заданную величину |
|
%= |
Взятие модуля заданной величины |
|
&= |
Поразрядное логическое И с заданной величиной |
|
|= |
Поразрядное логическое ИЛИ с заданной величиной |
|
Поразрядные логические операторы |
|
|
& |
Поразрядное логическое И |
|
| |
Поразрядное логическое ИЛИ |
|
^ |
Поразрядное логическое сложение по модулю 2 (XOR) |
|
~ |
Поразрядное отрицание (инверсия) |
|
<< |
Поразрядный сдвиг влево |
|
>> |
Поразрядный сдвиг вправо |
|
>>> |
Поразрядный сдвиг вправо с заполнением нулями |
|
Операторы сравнения |
|
|
== |
Эквивалентность сравниваемых объектов |
|
!= |
Не равно |
|
> |
Больше |
|
>= |
Больше или равно |
|
< |
Меньше |
|
<= |
Меньше или равно |
|
Логические операторы |
|
|
&& |
логическое И |
|
|| |
логическое ИЛИ |
|
! |
логическое отрицание |
Таблица 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 (МЕТКИ) |
- |
+ |
Средства taint также позволяют в сценариях получать данные из документов, записанных на разных доменах. Так, сценарий из документа, взятого с вашего домена и показанного в одной секции окна, может получить ссылки, изображения и объекты из документа, взятого с иного домена и отображаемого в другой секции окна. Поскольку средства taint предназначены для защиты данных, они используются в интрасетях или там, где требуется повышенная безопасность, и начинают работать, если задать конкретную переменную среды.
В разделе Управление ходом выполнения приведены способы организации ветвления хода
выполнения сценария. Здесь очевидное преимущество за JavaScript
. Однако имейте в виду: конструкции switch-case и do-while можно реализовать
через более общие управляющие эелементы, которые содержит JScript.
Таблица 3Работа с объектами
JavaScript и JScript представляют собой объектно-
ориентированные языки, и путем внимательного изучения их объектных моделей удается узнать
много полезного. Хотя первоначально задумывалось, что обе модели будут совместимы между
собой, дальнейшее развитие языков пошло в разных направлениях. В итоге получилось, что
наборы объектов обоих языков несколько отличаются. Это хорошо видно, если взглянуть в
таблице 3. Здесь дается перечень объектов и проводится их сравнение; также указывается,
когда одноименные JScript- и JavaScript-объекты
имеют между собой различия. При просмотре таблицы помните, что ее данные соответствуют
спецификациям JavaScript 1.2 и JScript 2.0.
Приложение 3 дает четкую картину того, что общего у этих моделей и в чем они различаются,
и может служить по-лезным руководством при разработке новых сценариев для Internet
Explorer и Netscape Navigator.
|
ОБЪЕКТ |
ПРЕДУСМОТРЕН В 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. |
При разработке необходимо помнить о постоянном совершенствовании спецификаций JScript и JavaScript. С выходом очередной версии Internet Explorer или Netscape Navigator можно ожидать появления новых функций в соответствующем языке. Если вы хотите использовать конкретное свойство, присутствующее только в одной спецификации, необходимо, чтобы сценарий либо выда-вал сообщение о наличии функций, не предусмотренных в браузере пользователя, либо корректно работал в обоих браузерах.
Как это сделать? Секрет в том, чтобы организовать ветвление внутри сценария: первая ветвь команд будет исполняться браузером Internet Explorer, другая - Netscape Navigator . Поскольку до начала обработки любой функции браузер не проверяет ее на допустимость, наличие посторонних функций в сценарии не приведет к сообщению об ошибке. В примере 4 показан прототип сценария, который я постоянно использую для Web-страниц; он не приостанавливает свою работу ни в среде Internet Explorer, ни Netscape Navigator . При изучении текста сценария вы можете видеть, как параметр Navigator. appName позволяет узнать имя браузера, чтобы затем передать управление соответствующей функции.
Пример 1
Кроме того, вы можете обеспечить, чтобы выполнялись только те сценарии, которые соответствуют конкретной версии JavaScript, предусмотренной браузером пользователя. Для этих целей применяется тэг SCRIPT, например: