Правильная ссылка на эту страницу
http://az-design.ru/Projects/WebStat/JS/01b010.shtml

Глава 1. Интеграция JavaScript и HTML

       Одно из преимуществ языка JavaScript состоит в том, что вы можете включить программу на этом языке в HTML-документ, внеся в него всего несколько небольших изменений. Для применения JavaScript не требуется дополнительного программного обеспечения, потому что поддержка этого языка встроена в броузер Netscape Navigator.
       Из этой главы вы узнаете:
       — Как использовать тег <script> для включения JavaScript-программы в Web-страницу
       — Как скрыть JavaScript-программу от броузеров, не поддерживающих язык JavaScript
       — Как пользоваться сообщениями об ошибках и окнами предупреждений (alert boxes)
       — Как тестировать JavaScript-программы с помощью броузера Navigator

Tem <script> и <noscripf>
       Большинство программ на языке JavaScript путешествуют по Internet, будучи помещенными в HTML-документы, запрашиваемые пользователями. До тех пор пока HTML-документ не загружен в броузер, невозможно определить, содержит он JavaScript-программу или нет. Чтобы броузер мог обнаружить такую программу, в язык HTML введен новый тег <script>. Имеется также другой тег — <noscript>, позволяющий авторам HTML-документов выяснить, когда язык JavaScript использовать нельзя.
       Контейнер <script>...</script> похож на контейнер <applet>...</applet>, который используется для загрузки Java-апплетов (программ) в текущую гипертекстовую страницу. Единственным существенным отличием является то, что с помощью тегов <script> текст выполняемой программы можно поместить непосредственно в документ и передавать по сети вместе с содержащей его страницей.

       Совет: Броузер Netscape Navigator версии 2.0 не обрабатывает скриптов, передаваемых отдельно от HTML-документов, однако в броузере Navigator 3.0 эта проблема устранена с помощью атрибута src, который позволяет пользователю задавать адрес URL файла, содержащего требуемый скрипт. В конце этой главы приведено подробное описание синтаксиса соответствующих тегов языка HTML.

       Теги <noscript>...</noscript> впервые использовались в броузере Navigator 2.0 версии beta 5. Если в программе Navigator поддержка языка JavaScript выключена (это можно сделать при помощи диалогового окна Preferences, которое вызывается командой Network preferences меню Options) или броузер пользователя не распознает теги <script>. . .</script>, пользователь увидит любой текст, который помещен в контейнер <noscript>. . . </noscript>. Описать все варианты поддержки этих тегов в различных версиях броузеров достаточно трудно. Однако в действительности тег <noscript> не может быть применен с Netscape Navigator версии 1.х, потому что этот броузер его не распознает. В частности, Navigator I .x просто покажет текст в теге <noscript>. . .</noscript>, а сам тег проигнорирует. Тогда как Navigator 3.0 использует этот тег только в том случае, когда поддержка языка JavaScript выключена.

Где можно разместить скрипты в HTML-документе?
       Скрипты могут находиться в любом месте HTML-документа. Однако теги языка HTML нельзя помещать внутри JavaScript-программы. Не забывайте помещать JavaScript-программу между тегами <script>. . .</script>, за исключением тех случаев, когда она включена в обработчик событий. Скрипты-обработчики событий описаны в главе 5. Они позволяют перехватывать и обрабатывать такие события, как нажатия кнопок, передачу заполненных форм, загрузку новых страниц и т.д.
       Встретив тег <script>, Navigator построчно анализирует содержимое документа до тех пор, пока не будет достигнут тег </script>. После этого производится проверка скрипта на наличие ошибок и компиляция JavaScript-программы в формат, пригодный для выполнения на вашем компьютере. Это напоминает работу с языком Java, хотя в данном случае программы компилируются непосредственно в броузере Netscape. To же самое происходит и тогда, когда сценарий загружается как отдельный ресурс. Если при проверке или компиляции программы обнаруживаются ошибки, Navigator выводит на экран окна с предупреждениями. Чтобы продолжить работу, необходимо нажать кнопку ОК в каждом таком окне.
       Главная часть JavaScript-программы может быть помещена в контейнер <head>. . .</head>, поскольку он считывается в программу Navigator при загрузке HTML-документа одним из первых. Теоретически скрипт можно размещать в любом месте HTML-документа, хотя лучше это делать перед контейнером <body>. . .</body>, т.е. в заголовке документа, чтобы функции языка JavaScript загружались в память сразу же после загрузки документа в броузер. Однако некоторые авторы любят размещать теги со скриптами в конце программы. Поэтому окончательный выбор остается за вами. Описания функций лучше всего помещать в заголовок документа, хотя скрипты, выполняемые "на лету" и формирующие новые HTML-документы при обращении к определенным частям текущего документа, могут быть размещены там, где они необходимы.
       Синтаксис тега <script> в той версии языка HTML, которая поддерживается в Netscape, имеет следующий вид:

<script [language="JavaScript"]
        [src=URL]>
[JavaScript-statements...]
</script>

       где значением атрибута language может быть строка "JavaScript". С помощью атрибута src*{В броузере Microsoft Internet Explorer (вплоть до версии 3.01 включительно) атрибут src не поддерживается, поэтому в целях совместимости использовать его не рекомендуется. — Здесь и далее примеч. ред.} определяется адрес URL файла, содержащего скрипт. Заметьте, регистр символов в данном случае не имеет значения, как и при записи тегов языка HTML. Если атрибут src определен, то тело скрипта [JavaScript-statements ... ] пропускается, потому что скрипт будет загружен из определенного вами URL. Когда атрибут src не используется, предполагается, что текст вашей программы содержится в контейнере <script>. . .</script>. Об операторах языка JavaScript рассказывается в главе 3.

Загрузка локальных JavaScript-программ
       Чтобы включить JavaScript-программу в HTML-документ, используйте тег <script> без атрибута src. Например, при загрузке следующего HTML-документа на экран выводится окно сообщения:

<html>
<!—
Program 1-1
-->
<head>
<script language="JavaScript">
alert("Добро пожаловать!");
</script>
</head>
</html>

       Метод*{Методы в языке JavaScript играют ту же роль, что и библиотечные функции (процедуры) в других языках программирования.} alert () — один из методов языка JavaScript. При его выполнении на экранv появляется окно сообщения, в котором отображаются текст сообщения, кнопка ОК и пиктограмма с восклицательным знаком. Такие предупреждающие сообщения, или предупреждения, используются для привлечения внимания пользователя. Приведенная программа выполняется немедленно после загрузки включающего ее документа в броузер, хотя в языке JavaScript можно определить и функции, содержащие последовательности операторов. Такие функции активизируются только при обращении к ним из основной программы. Функции языка JavaScript будут рассмотрены позже.

Загрузка удаленных JavaScript-программ
       Удаленные JavaScript-приложения хранятся на сервере в виде отдельных файлов. Атрибут src определяет адрес URL, распознаваемый сервером и задающий местоположение скрипта, который необходимо загрузить. Например, вы можете загрузить скрипт с удаленного сервера, используя следующий тег <script>:

<!—
Program 1-2 
-->
<script src="http://www.gold.net/users/agl7/welcome.js">
</script>

       где указывается, что скрипт должен загружаться с хоста www.gold.net из файла welcomejs, находящегося в каталоге /users/agl7. Тег <script> определяет начало контейнера, а тег </script> — его окончание, даже если в этом контейнере не содержится никаких операторов.

       Совет: Имена файлов, содержащих скрипты на языке JavaScript, задаваемые в теге <script> при помощи атрибута src, должны иметь расширение .js, поскольку оно является одним из стандартных расширений файлов MIME (Multimedia Internet Mail Extension) и распознается броузером Navigator. Скрипты, создаваемые вне HTML-документов, должны храниться в виде обычных текстов в кодах ASCII или OEM.

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

http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html

       в котором приведена информация о разнообразных серверах, включая популярные серверы NCSA и Netscape NetSite. Атрибут src может быть использован для обеспечения защиты исходного текста программы, хотя чаще всего текст программы остается доступным для просмотра пользователями, посещающими соответствующий каталог на сервере.

       Совет: Если программа должна загружаться с сервера при помощи атрибута src, в ее исходном тексте не следует использовать ключевые слова <script> и </script>, т.е. в файле должен храниться только текст программы на языке JavaScript без ключевых слов языка HTML.

       Хотя атрибут language не является обязательным в броузере Navigator, используйте его в целях совместимости с другими броузерами, в особенности тогда, когда атрибут src не представлен. Атрибут src указывает адрес URL файла, из которого загружается сценарий, и является необязательным. Адрес URL может определять локальный скрипт, исходный текст которого находится в том же каталоге, что и текущий HTML-документ, например:

<script src="myScript.js">

       Существует возможность указать ресурс, расположенный на другом сервере Internet, как было показано ранее. Оба атрибута src и language могут быть представлены вместе. Когда атрибут src указан, броузер определяет язык скрипта по расширению файла ресурса, поэтому атрибут language можно опустить.

Создание HTML-документов "на лету"
       Используя несколько тегов <script>B теле гипертекстового документа, можно создавать другие HTML-документы "на лету". Такой процесс называется динамическим созданием HTML-документов. Технологию динамического создания документов полезно применять для изменения структуры и вида Web-страниц в соответствии с внешними событиями, такими как изменение времени и даты, либо по запросу пользователя. Можно, например, ежедневно изменять вид определенных Web-страниц. В данной книге приведено множество примеров динамического создания HTML-документов.

Обеспечение обратной совместимости с помошыо комментариев языка HTML
       Число броузеров, и без того немалое, продолжает расти, что затрудняет процесс создания HTML-документов. Все броузеры игнорируют теги языка HTML, которые ими не распознаются. Например, Navigator 1.2 игнорирует теги <script> и <frameset>, a Navigator версии 2.0 интерпретирует текст программы на языке JavaScript, содержащийся в контейнере <script>. . .</script>, и отображает его как часть текста документа. Броузер Navigator версий 2.0 и 3.0 для обеспечения совместимости с более ранними версиями может интерпретировать JavaScript-программу, заключенную между тегами комментариев языка HTML. Комментарии в языке HTML представляют собой контейнеры, начинающиеся с последовательности символов <!-- и заканчивающиеся символами -->. Комментарии занимают либо одну строку, либо несколько строк исходного текста документа. Например, комментарий, занимающий одну строку, записывается так:

<!--Copyrigt (с) Joe Public 1996 -->

       Комментарий, размещенный в нескольких строках, имеет следующий вид:

<!--
Copyrigt (с) Joe Public 
All Rights Reserved 
-->

       Как известно многим пользователям, существенная проблема состоит в том, что комментарии языка HTML могут быть нарушены изнутри JavaScript-программой, которая использует комбинации символов, похожие на символы, применяемые в закрывающем теге комментария.
       Например, в тексте программ на языке JavaScript используются символы > и --. Первый — в качестве оператора "больше чем" (и для записи тегов HTML), а второй — как оператор декремента. Поэтому применение таких символов в программе связано с риском нарушить границы контейнера <script>.. . </script>, что приведет к ошибкам при выполнении программы.
       При заключении JavaScript-программы между тегами комментариев языка HTML закрывающий комментарий фактически находится в тексте JavaScript-программы, поэтому перед последовательностью символов --> необходимо использовать два символа косой черты (//). Эти символы в языке JavaScript являются признаком начала комментария. Учитывая сказанное, для обеспечения совместимости с броузерами, не поддерживающими теги <script>, изменим представленную ранее JavaScript-программу, которая выводила на экран приветственное сообщение:

<!--
Program 1-3
-->
</html>
</head>
<script language="JavaScript">
<!--
alert("Добро пожаловать!");
//-->
</script>
</head>
<noscript>
<img src="welcome.gif" hspace=4> Добро пожаловать!
</noscript>
</html>

       Обратите внимание на то, что контейнер <script>...</script> не следует помещать внутри комментария. Броузеры, не поддерживающие язык JavaScript, игнорируют программу, а броузеры, распознающие тег <script>, — по-прежнему интерпретируют ее. Таким образом, приведенный HTML-документ является совместимым сверху вниз (обратно совместимым) с ранними версиями программы Netscape Navigator и другими броузерами. Такая запись гарантирует, что при загрузке в броузер содержащаяся в документе JavaScript-программа отображаться не будет.

       Совет: Вложенности комментариев следует избегать, поскольку это может привести к ошибке.

       Заметьте, что контейнер <noscript>...</noscript> используется для вывода на экран рисунка и небольшого приветствия, которое появится вместо окна предупреждения alert (), если язык JavaScript не поддерживается.

Как скрыть JavaScript-программу от других броузеров
       Вопросы сокрытия исходных текстов JavaScript-программ от Web-броузеров, не поддерживающих язык JavaScript, всегда были предметом споров и вызвали множество ожесточенных войн в Internet. Многие, если не все, проблемы "взломанных" комментариев связаны с использованием в языке JavaScript комбинаций символов (-->), встречающихся в закрывающем HTML-комментарий теге. Атрибут src в теге <script> избавит от этой проблемы, однако ее можно решить, не используя данный атрибут. Конечно, некоторые не захотят применять атрибут src, предполагая, что он усложнит написание скриптов, потому что HTML-документ и файл исходной программы придется создавать отдельно, вместо того чтобы размещать их в одном файле.
       По возможности старайтесь избегать использования символов закрывающей угловой скобки (>) в JavaScript-программе, потому что они могут взломать комментарий. Закрывающая угловая скобка используется в языке JavaScript в качестве оператора "больше чем", она применяется и в тегах HTML, которые могут быть случайно динамически записаны в броузер. Проблема использования этого символа в качестве оператора "больше чем" преодолевается путем замены его на символ открывающей угловой скобки (<). Например, вместо записи

if(myVarl > myVar2) { }

       можно использовать запись

if(myVar2 < myVarl) { }

       Другой метод основан на использовании шестнадцатеричного кода (hex-escape code), который имеет вид \хnn, где nn — шестнадцатеричное значение символа ASCII. Так, символ закрывающей угловой скобки (>), представленный в шестнадцатеричном виде, будет выглядеть как \хЗе, потому что шестнадцатеричное значение Зе соответствует десятичному числу 62, а ASCII-код 62 соответствует указанному символу. При динамическом создании HTML-документа вместо оператора

document.write("<hr>Welcome to my Page!<hr>");

       лучше записать оператор

document.write(If<hr\x3eWelcome to my Page ! <hr\x3e");

       В языке JavaScript имеется метод unescape(), который преобразует шестнадцатеричный аргумент в эквивалентный ASCII-символ. Поэтому можно также использовать следующую запись:

_lt = unescape("%3c"); _
gt = unescape("%3e");
document.write(_lt+"hr"+_gt+"Welcome to my Page!"+_lt+"hr"+_gt);

       в которой угловые скобки отсутствуют. Тем не менее такие скобки в исходном тексте HTML-документа располагаются правильно, поэтому программа будет работать корректно. Однако удаление всех угловых скобок может показаться чересчур решительной мерой, потому что источником ошибок всегда является символ закрывающей угловой скобки (>).
       Некоторые броузеры нарушают комментарии, когда сталкиваются с двумя расположенными рядом дефисами (--), поскольку такое сочетание символов используется в теге HTML, закрывающем комментарий (-->). Вследствие того, что последовательность из двух дефисов (--) является также в языке JavaScript оператором декремента, можно найти альтернативы для таких операторов. Например, вместо оператора

myVar --;

       можно записать оператор

myVar -= 1;

       который будет выполнять те же функции.

Вычисление выражении языка JavaScript в атрибутах тегов языка HTML
       Броузер Navigator 3.0 может вычислять выражения языка JavaScript, заданные в атрибутах тегов HTML, позволяя формировать соответствующие значения "на лету" во время считывания документа в Navigator, вместо того чтобы жестко задавать их в исходном тексте документа. Для вычислений такого типа используется синтаксис

&{expression};


       где expression — выражение языка JavaScript, которое необходимо вычислить. Например, вместо записи тега <table> языка HTML, задающего таблицу фиксированной ширины

<table width="100%">

       можно записать

<table width="&{10 * 10 };%">

       Этот тег сам по себе большой роли не играет, потому что результатом его интерпретации является таблица, которая имеет ширину, равную ширине окна броузера (100%). Однако в вычислении таких встроенных выражений могут участвовать объекты JavaScript-программы (например, переменные), так что вычисляемые значения атрибутов основываются на вычислениях, выполненных ранее. В исходном тексте приведенного ниже HTML-документа описана таблица, ширина которой (50%) равна значению переменной tabwidth, определенной в JavaScript-программе:

<script>
<!--
var tabWidth = 50;
//-->
</script>
<table border align="middle" width="&{ tabWidth };%">
<tr><td>Пpивeт </td></tr>
</table>

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

<!--
Program 1-4
-->
<html>
<head>
<script language="JavaScript">
<!--
var dateToday = newDate();
var thisDay = dateToday.getDay();
var fonts = new Array("Arial",
                      "Times","Helvetica",
                      "Courier New Cyr",
                      "Albertus Extra Bold",
                      "Arial CE",
                      "Times New Roman");
//-->
</script>
</head>
<body>
<font size="+l" face="&{ fonts[thisDay] };">
Это текст, <b>тип</b> шрифта для которого
выбирается при помощи встроенного вычисления 
значения атрибута <b>&lt;font&gt;</b>.</font>
</body>
</html>

       Атрибут face введен в Navigator версии 3.0 и позволяет задавать тип шрифта. Чтобы увидеть, какие шрифты могут использоваться в программе Navigator, нужно выбрать команду General Preferences меню Options и перейти в раздел Fonts диалогового окна Preferences. В нашей программе в массиве font хранятся названия семи шрифтов, по одному на каждый день недели. Для определения значения атрибута face в теге <font> используется встроенное вычисление. Например, для воскресенья выбран шрифт Arial. Метод getDay () языка JavaScript возвращает значение 0 для воскресенья, 1 — для понедельника и т.д. В результате вычисления значения выражения fonts [thisDay] возвращается имя шрифта по его порядковому номеру и затем подставляется в качестве значения атрибута face. Массивы и операторы, возможно, еще не известные вам, подробно описаны в следующих главах.

Использование тегов <noframes> для обеспечения совместимости сверху вниз
       Одна из самых больших проблем заключается в том, чтобы информировать пользователей ранних версий броузера Navigator о необходимости обновления версий своих броузеров для получения возможности работать с JavaScript-программами. К счастью, программы Navigator 1.1 и более поздних версий распознают контейнер <noframes>. . .</noframes>, который используется для отображения текста, сообщающего пользователям, что их броузер не поддерживает фреймы в HTML-документах. Таким образом, если в теги <noframes> поместить текст, то его увидят пользователи ранних версий программы Navigator. Например:

<!--
Program 1-5
-->
<html>
<head>
<script language="JavaScript">
<! —
//... текст программы... 
//-->
</script>
</head>
<noframes>
<hr>
Этот документ содержит дополнительные возможности, которые доступны 
только в Netscape Navigator 2.0 или 3.0. Пожалуйста,обновите версию 
своего броузера и обратитесь к нашей странице снова!
</hr>
</noframes>
</html>

       В приведенном примере с помощью тега <nof rames> на экран выводится сообщение всякий раз, когда пользователь обращается к этой странице, используя броузер Netscape 1.x. В таких случаях пользователя информируют о необходимости обновления броузера. Пользователи, применяющие Netscape 2.0, разумеется, не увидят этого сообщения, потому что их броузер, имеющий возможность работать с фреймами, игнорирует этот тег. Кроме того, броузер Navigator располагает встроенным объектом navigator, с помощью которого можно определить, какая именно версия броузера используется для просмотра документа. Однако чтобы воспользоваться этим средством, броузер должен поддерживать язык JavaScript.

       Совет: Заставить Navigator 3.x игнорировать все теги <script> в загружаемых HTML-документах можно с помощью переключателя Disable JavaScript, который находится в диалоговом окне Preferences, вызываемом командой Network Preferences меню Options.

Тестирование JavaScript-программ с помощью броузера Navigator
       Для проверки JavaScript-программы нужно загрузить в Navigator HTML-документ, содержащий скрипт. При этом можно воспользоваться одним из следующих способов:
       — активизировать команду Open File in Browser... меню File и выбрать файл,который требуется загрузить;
       — ввести в строку Location слово file:, а затем адрес URL для непосредственного открытия локального файла.
       Чтобы открыть локальный файл, необходимо ввести адрес URL типа file:..., как показано ниже:

file:///drive|/directory/filename
file:/drive|/directory/filename

       причем оба выражения эквивалентны. Например, при вводе адреса

file:///с:/JS/Scripts/wombat.html

       загружается HTML-документ из файла wombat.html, находящегося в каталоге c:\js\scripts. Символы косой черты (/) и обратной косой черты (\) используются как разделители в имени каталога, однако в первой части адреса URL (file: ///drive) должны всегда использоваться символы косой черты. При загрузке HTML-документа в строке состояния появится сообщение: Reading File....
       При обнаружении ошибок в небольшом окне в левом верхнем углу экрана отобразится соответствующее сообщение с указанием номера строки в файле HTML, содержащей ошибку. Если требуемый файл находится в текущем каталоге, щелкните мышью в поле Location, введите имя файла и нажмите клавишу [Enter].

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

       Если вы удовлетворены своим JavaScript-приложением, можно передать его на Web-сервер с помощью протокола FTP (File Transfer Protocol). Теоретически вы можете тестировать свое приложение, не загружая его на Web-сервер. Замените в исходном HTML-документе все адреса URL, начинающиеся с file:, на адреса, начинающиеся с http: / / (сетевые документы). Наконец, большинство JavaScript-приложений встроены в HTML-документы, поэтому скрыть исходный текст вашей программы от пользователей, которые загружают ваше приложение, невозможно. Новый атрибут src тега <script> позволяет скриптам существовать отдельно от HTML-документов, которые активизируют их, и вы можете сконфигурировать свой Web-сервер так, чтобы исключить доступ к каталогам, содержащим исходные тексты скриптов. Однако эти возможности зависят от конкретного сервера и используемой операционной системы. Все JavaScript-программы компилируются в броузере Navigator, но имеется также и отдельный компилятор языка JavaScript, который является частью серверного продукта Netscape Live Wire (для получения более подробной информации обратитесь к ресурсу http://home.netscape.com).

       Совет: При тестировании программ необходимо многократно перезагружать документ, чтобы видеть внесенные в него изменения. При этом кэширование страниц в броузере Navigator может вызвать проблемы, связанные с тем, что результаты исправлений не будут отображаться. Для решения этой проблемы необходимо щелкнуть мышью на кнопке Reload, удерживая нажатой клавишу [Shift]. В результате документ полностью перезагрузится, но не из кэша, а из того ресурса, где он находится. Щелкнув мышью в поле Location и нажав клавишу [Enter] после ввода адреса URL, вы получите такой же результат, хотя метод с использованием клавиши [Shift] более надежен.

Работа с ошибками и предупреждающими сообщениями JavaScript
       Программа Navigator будет выдавать предупреждающее сообщение всякий раз, когда в скрипте встречается ошибка. Перед выполнением скрипты считываются в память и анализируются. При этом могут быть обнаружены синтаксические ошибки, например ошибки, связанные с неправильным указанием формата оператора. Во время выполнения программы сообщения об ошибках генерируются, когда отсутствует возможность получить доступ к файлу или отсутствует переменная, ссылка на которую содержится в программе. Обнаружив ошибку, Netscape отображает небольшое диалоговое окно, содержащее следующую информацию:
       — адрес URL файла, в котором содержится скрипт;
       — описание обнаруженной ошибки;
       — приблизительный номер строки, где произошла ошибка.
       Прочтите сообщение и нажмите кнопку ОК. При обнаружении нескольких ошибок на экран выводится несколько окон сообщений. После этого броузер загрузит текст вашего гипертекстового документа, однако содержащиеся в нем скрипты будут функционировать неправильно до тех пор, пока вы не устраните все ошибки. Сообщения об ошибках в скриптах иногда трудны для понимания, потому что в них часто используются термины программирования. Ознакомьтесь с различными сообщениями об ошибках в JavaScript-программах (см. приложение И), и вы узнаете, как быстро находить и исправлять ошибки. На рис.1.1 приведено типичное сообщение об ошибке, возникшей в результате пропуска открывающей фигурной скобки ({). Программа, в которой происходит эта ошибка, приведена ниже:

<!--
Program 1-6 
-->
<script language="JavaScript">
function AnError()
// There is a { missing above
alert ("This program will generate an error"); } 
</script>

Вы можете исправить эту ошибку, поместив фигурную скобку ({) после имени функции AnError().

       Совет: Когда в скрипте обнаружено много ошибок, окна предупреждений имеют ужасную привычку перекрывать друг друга В новых версиях броузера Navigator эти предупреждающие сообщения выводятся более удобно. Окна сообщений нужно закрывать в порядке, обратном их появлению Это нетрудно, потому что окна накладываются друг на друга частично, и нужно просто щелкнуть мышью на кнопке ОК в каждом окне


Рис.1.1. Типичное предупреждение JavaScript

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

Заключение
       — Размещайте всю JavaScript-программу в контейнере <scnpt>...</scnpt>. He помещайте теги языка HTML в тексты программ на языкеJavaScript Используйте контейнер <noscript>. . .</noscript> для заключения в него текста, который следует отобразить, если броузер пользователя не поддерживает язык JavaScript.
       — Помещайте теги <script> в любом месте HTML-документа. Включая скрипты в документ, вы сможете генерировать новые документы автоматически с помощью функции document.write().
       — Когда в вашем приложении произошла ошибка и появилось окно предупреждения JavaScript, прочтите сообщение, а затем щелкните на кнопке ОК, чтобы закрыть окно. Если появляется несколько окон с сообщениями, то программа содержит не одну ошибку. Щелкайте мышью на кнопке OK в каждом окне сообщения, пока не возвратитесь в окно броузера Navigator. Вы не сможете вернуться в это окно, пока все окна сообщений не будут закрыты.
       Убедитесь, что вы поместили всю программу в теги комментария HTML <!-- и -->, чтобы текст JavaScript-программы не отображался на экране. Броузер Navigator версии 3.0 и даже более ранних версий может интерпретировать содержимое комментариев, поэтому программа будет по-прежнему выполняться.
       Используйте теги <noscript> и </noscript>, чтобы разместить информацию, которая предназначена для пользователей броузеров, не поддерживающих язык JavaScript. В этих тегах можно поместить сообщение о том, что для просмотра ваших страниц необходим броузер, поддерживающий язык JavaScript.




<<< Пред. Оглавление
Начало раздела
След. >>>

Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:56 MSK


Постоянный адрес статьи:
http://az-design.ru/Projects/WebStat/JS/01b010.shtml