Гипертекстовая
Web как гипертекстовую систему можно рассматривать с двух точек зрения. Во-первых, как совокупность отображаемых страниц, связанных гипертекстовыми переходами (ссылками - контейнер <A> ). Во-вторых, как множество элементарных информационных
При втором подходе гипертекстовая сеть определяется на множестве элементарных информационных
При генерации страниц в Web возникает дилемма, связанная с архитектурой "
Таким образом,
Основная идея JavaScript состоит в возможности изменения значений атрибутов HTML-контейнеров и свойств среды отображения в процессе просмотра HTML-страницы пользователем. При этом перезагрузки страницы не происходит. На практике это выражается в том, что можно, например, изменить
Название "JavaScript" является зарегистрированным
Стандартизация языка была инициирована компанией
Первая версия стандарта (принята в 1997 г.) примерно соответствовала JavaScript 1.1. На данный момент (2008 г) вышла уже третья редакция стандарта (принята в декабре 1999 г), включающая мощные
Главный вопрос любого начинающего программиста: "Как оформить программу и выполнить ее?". Попробуем на него ответить как можно проще, но при этом не забывая обо всех способах применения JavaScript-кода.
Во-первых, исполняет JavaScript-код браузер. В него встроен
<SCRIPT> ).Ниже мы рассмотрим их по очереди. В учебниках по JavaScript описание применения JavaScript обычно начинают с контейнера <SCRIPT>. Но с точки зрения понимания сути взаимодействия JavaScript и HTML это не совсем правильно, поскольку такой порядок не дает ответа на ключевой вопрос: как JavaScript-код получает управление? Другими словами, каким образом вызывается и исполняется программа, написанная на JavaScript и размещенная в HTML-документе?
В зависимости от профессии автора HTML-страницы и уровня его знакомства с основами программирования возможны несколько вариантов начала освоения JavaScript. Если вы программист классического толка (С,
Примечание 1. Все последующие примеры Вы можете проверять на работоспособность в Вашем браузере самостоятельно. Для этого скопируйте текст примера в файл (скажем, primer. ); если текст примера состоит только из JavaScript-кода, то заключите его в тэги <SCRIPT> и </SCRIPT>. Получившийся файл можно просматривать в браузере.
Примечание 2. В данной вводной лекции примеры даются без document.write(строка) записывает указанную строку в текущий HTML-документ. Например, следующие два фрагмента HTML-документа равносильны:
| Простой HTML-документ | Использование document.write() |
|---|---|
<HTML> <BODY> <H1>Заголовок</H1> </BODY> </HTML> |
<HTML>
<BODY>
<SCRIPT>
document.write('<H1>Заголовок</H1>');
</SCRIPT>
</BODY>
</HTML>
|
контейнера A, в атрибуте SRC контейнера , в атрибуте контейнера FORM и т.п. Все URL подразделяются на ftp, для доступа к , для отправки электронной почты - схема . Тип схемы определяется по первому компоненту URL, например:
http://intuit.ru/directory/page.html
В данном случае URL начинается с http - это и есть задание http ).
Основной задачей языка программирования гипертекстовой системы является программирование гипертекстовых переходов. Это означает, что при выборе той или иной гипертекстовой ссылки вызывается программа реализации гипертекстового перехода. В Web-технологии стандартной программой, вызываемой при гипертекстовом переходе, является программа загрузки страницы (т.е. при JavaScript:
<A HREF="JavaScript:код_программы">...</A> <FORM ACTION="JavaScript:код_программы" ...> ... </FORM>
В данном случае текст " код_программы " обозначает программу-обработчик на JavaScript, которая вызывается при выборе гипертекстовой ссылки в первом случае и при Кликни здесь " можно получить
<A HREF="JavaScript:alert('Внимание!!!');">Кликни здесь</A>
(рис 1.1) Окно предупрежденияА при нажатии на кнопку типа в форме можно заполнить текстовое поле этой же формы:
<FORM METHOD=post NAME="form" ACTION="JavaScript:form.e.value='Нажали кнопку: Заполнить';void(0);"> <INPUT TYPE=text NAME=e SIZE=30 VALUE=""><BR> <INPUT TYPE=submit VALUE="Заполнить"> <INPUT TYPE=reset VALUE="Очистить"> </FORM>
В URL можно размещать сложные программы и вызовы функций. Таким образом, при программировании гипертекстового перехода JavaScript-
Такие программы, как и соответственно вызывается обработчик этого события :
<FORM><INPUT TYPE=button VALUE="Кнопка"
onClick="alert('Вы нажали кнопку');"></FORM>
А в момент завершения полной загрузки документа (он связан с контейнером <BODY> ) происходит событие и, соответственно, будет вызван обработчик этого события onLoad:
<BODY onLoad="alert('Приветствуем!');">
...
</BODY>
{код_программы}; и используются в качестве значений атрибутов HTML-контейнеров. В следующем примере INPUT будет иметь, в качестве значения по умолчанию, адрес текущей страницы, а размер поля будет равным количеству символов в этом адресе.
<HTML>
<HEAD>
<SCRIPT>
function l()
{
str = window.location.href;
return(str.length);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM><INPUT TYPE=text SIZE="{l()};"
VALUE="{window.location.href};">
</FORM>
</BODY>
</HTML>
В случае {..}; у атрибута контейнера, он передает управление JavaScript-
Очевидно, что размещать в заголовке документа генерацию текста страницы бессмысленно - он не будет отображен браузером. Поэтому в заголовок помещают декларации общих переменных и функций, которые будут затем использоваться в
В px ) равна количеству символов в адресе страницы, умноженному на 10:
<INPUT TYPE=text style="width:expression(10*location.href.length+'px')">
Мы не будем подробно останавливаться на этом способе использования JavaScript-кода.
Контейнер SCRIPT - это развитие подстановок до возможности генерации текста документа JavaScript-кодом. В этом смысле применение SCRIPT аналогично <SCRIPT>. SCRIPT и возвращает управление HTML-парсеру для обработки текста страницы после тега конца контейнера </SCRIPT>.
Помещать JavaScript-код на HTML-странице с помощью контейнера <SCRIPT> можно двумя способами. Первый состоит в написании текста кода непосредственно внутри этого контейнера:
<SCRIPT> a = 5; </SCRIPT>
Второй способ состоит в том, чтобы вынести код JavaScript в отдельный файл, например, myscript.js (расширение может быть любым), и затем включить его в HTML-страницу следующим образом:
<SCRIPT SRC="myscript.js"></SCRIPT>
Этот способ удобен, когда один и тот же скрипт планируется использовать на разных HTML-страницах. Обратите внимание, что при наличии атрибута SRC содержимое контейнера <SCRIPT> пусто, и это не случайно: согласно спецификации HTML, если скрипт подключается из <SCRIPT> и </SCRIPT>, если таковой имеется, будет проигнорирован браузером.
Здесь уместно небольшое замечание, которое позволит Вам избежать одной ошибки начинающих программистов. Между тэгами <SCRIPT> и </SCRIPT> не должно встречаться последовательности символов </SCRIPT> в любом контексте. Например, следующий пример работать не будет:
<SCRIPT>
alert('</script>');
</SCRIPT>
Дело в том, что специфика </script> ", т.е. не на той, на которой было нужно нам. Чтобы пример заработал, достаточно, например, написать (т.к. комбинация " \/ " выводит на экран символ " / "), либо разбить строчку на две: .
Контейнер SCRIPT выполняет две основные функции:
Первая функция аналогична декларированию переменных и функций, которые потом можно будет использовать в качестве программ переходов, обработчиков событий и подстановок. Вторая - это
Собственно, особенного разнообразия здесь нет. Код можно разместить либо в заголовке документа (внутри контейнера HEAD ) либо в BODY ). Последний способ и его особенности будут рассмотрены в разделе "Условная генерация HTML-разметки на стороне браузера". Поэтому обратимся к заголовку документа.
Код в заголовке документа размещается внутри контейнера SCRIPT. В следующем примере мы декларировали функцию time_scroll() в заголовке документа, а потом вызвали ее как обработчик события в теге начала контейнера BODY.
<HTML>
<HEAD>
<SCRIPT>
function time_scroll()
{
var d = new Date();
window.status = d.getHours()
+ ':' + d.getMinutes()
+ ':' + d.getSeconds();
setTimeout('time_scroll()',1000);
}
</SCRIPT>
</HEAD>
<BODY onLoad="time_scroll()">
<H1>Часы в строке статуса</H1>
</BODY>
</HTML>
Функция ). Наконец, она откладывает ( ) повторный вызов самой себя на 1000 миллисекунд (т.е. 1 секунду). Таким образом, каждую секунду в поле статуса будет отображаться новое время.
Всегда приятно получать с сервера страницу, подстроенную под возможности нашего браузера или, более того, под пользователя. Существует только две возможности генерации таких страниц: на стороне сервера или непосредственно у клиента. JavaScript-код исполняется на стороне клиента (на самом деле, серверы компании
Для генерации HTML-разметки контейнер SCRIPT размещают в BODY. Простой пример - встраивание в страницу локального времени:
<BODY>
...
<SCRIPT>
d = new Date();
document.write('Момент загрузки страницы: '
+ d.getHours() + ':'
+ d.getMinutes() + ':'
+ d.getSeconds());
</SCRIPT>
...
</BODY>
Несколько слов о различных видах комментариев. В программе JavaScript можно оставлять //. Текст начиная с этих символов и до конца строки считается комментарием. Многострочный комментарий заключается между символами /* и */ и может простираться на несколько строк.
<SCRIPT> a=5; // однострочный комментарий /* Многострочный комментарий */ </SCRIPT>
Для скрытия JavaScript-кода от интерпретации старыми браузерами, не поддерживающими JavaScript (у высокого начальства еще встречаются), весь JavaScript-код между тэгами <SCRIPT> и </SCRIPT> приходится заключать в HTML-комментарии <!-- и -->. Можно предположить, что эти комбинации символов, не являясь полноценными операторами JavaScript, могут быть неверно поняты JavaScript-<!-- считается началом однострочного комментария (наряду с // ). Со второй комбинацией ( --> ) такой трюк невозможен (т.к. двойной минус имеет специальное значение в JavaScript), и ее приходится комментировать символами //, что иллюстрирует следующий пример.
<SCRIPT> <!-- Скрываем JavaScript-код от старых браузеров a = 5; // --> </SCRIPT>
Однако в данном курсе мы не будем загромождать примеры такого рода HTML-комментариями, переложив эту обязанность на пользователя. К тому же, все реже можно встретить браузеры, которые вместо выполнения JavaScript-кода выдают его текст в окно браузера.
Контейнер <SCRIPT> имеет необязательный атрибут LANGUAGE, указывающий язык, на котором написан содержащийся внутри контейнера скрипт. Значение атрибута не JavaScript ". Поэтому все наши примеры можно записывать следующим образом:
<SCRIPT LANGUAGE="JavaScript"> ... </SCRIPT>
В качестве альтернативы атрибут LANGUAGE может принимать значения " " (упоминавшаяся выше разновидность языка JavaScript, разработанная компанией Microsoft), " " или " VBS " (оба указывают на язык программирования LANGUAGE="JavaScript1.2". Потребность в этом может возникнуть, если нужно написать разные участки кода для браузеров, поддерживающих разные версии языка.
Следует также иметь в виду, что в настоящей версии языка HTML (т.е. 4.0 и выше) атрибут LANGUAGE контейнера <SCRIPT> считается устаревшим и нерекомендуемым к использованию (deprecated). Вместо него в контейнере <SCRIPT> рекомендуется использовать атрибут TYPE. Его значениями, также не чувствительными к регистру, могут быть " text/javascript " (значение по умолчанию), " text/ " и другие. Например, все наши примеры можно оформлять так:
<SCRIPT TYPE="text/javascript"> ... </SCRIPT>
Некоторые старые браузеры не понимают атрибут TYPE, поэтому можно задавать оба атрибута одновременно - LANGUAGE и TYPE. Атрибут TYPE имеет высший приоритет, т.е. если браузер распознает значение TYPE, то значение LANGUAGE игнорируется.
Поскольку в любом случае значение по умолчанию соответствует языку JavaScript, в наших примерах эти атрибуты будут опускаться.
Как Вы, наверное, знаете, <SCRIPT> можно писать как <script>, его атрибуты - как Type, LANGuage и src, значение атрибутов, указывающих язык, - как " JavaSCRIPT " и " TEXT/JavaScript ". Разумеется, значение атрибута SRC, т.е. имя файла, следует писать точно так, как файл назван в операционной системе.
Напротив, var myText='Привет', то в дальнейшем ее можно использовать только как myText, но не MyText. В этом кроется частая ошибка, которую допускают программисты на JavaScript. Она усугубляется еще и тем, что JavaScript не требует явно декларировать переменные, и встретив MyText,
Это касается и всех встроенных объектов, свойств и методов языка. Например, объектом является document. Вызов document.write() нельзя записать как Document.write() или document.Write(). К свойству объекта document, задающему document.bgColor, а метод этого же объекта, выдающий элемент с заданным идентификатором " id5 ", можно вызвать только как document.getElementById("id5").
Названия событий, такие как (щелчок мышью), DblClick (двойной щелчок мышью), (окончание загрузки документа) и т.п. сами по себе не являются элементами синтаксиса. Обработчики же соответствующих событий могут появляться в двух контекстах:
Load вызывалась функция myFunction, мы должны написать: window.onload = myFunction. Названия обработчиков событий onload, onmouseover и т.п. в таком контексте должны быть написаны маленькими буквами;onLoad вызывал функцию myFunction, мы можем написать в HTML-исходнике: <BODY onLoad="myFunction()"> либо <BODY ONLOAD="myFunction()">.Гипертекстовая
Web как гипертекстовую систему можно рассматривать с двух точек зрения. Во-первых, как совокупность отображаемых страниц, связанных гипертекстовыми переходами (ссылками - контейнер <A> ). Во-вторых, как множество элементарных информационных
При втором подходе гипертекстовая сеть определяется на множестве элементарных информационных
При генерации страниц в Web возникает дилемма, связанная с архитектурой "
Таким образом,
Основная идея JavaScript состоит в возможности изменения значений атрибутов HTML-контейнеров и свойств среды отображения в процессе просмотра HTML-страницы пользователем. При этом перезагрузки страницы не происходит. На практике это выражается в том, что можно, например, изменить
Название "JavaScript" является зарегистрированным
Стандартизация языка была инициирована компанией
Первая версия стандарта (принята в 1997 г.) примерно соответствовала JavaScript 1.1. На данный момент (2008 г) вышла уже третья редакция стандарта (принята в декабре 1999 г), включающая мощные
Главный вопрос любого начинающего программиста: "Как оформить программу и выполнить ее?". Попробуем на него ответить как можно проще, но при этом не забывая обо всех способах применения JavaScript-кода.
Во-первых, исполняет JavaScript-код браузер. В него встроен
<SCRIPT> ).Ниже мы рассмотрим их по очереди. В учебниках по JavaScript описание применения JavaScript обычно начинают с контейнера <SCRIPT>. Но с точки зрения понимания сути взаимодействия JavaScript и HTML это не совсем правильно, поскольку такой порядок не дает ответа на ключевой вопрос: как JavaScript-код получает управление? Другими словами, каким образом вызывается и исполняется программа, написанная на JavaScript и размещенная в HTML-документе?
В зависимости от профессии автора HTML-страницы и уровня его знакомства с основами программирования возможны несколько вариантов начала освоения JavaScript. Если вы программист классического толка (С,
Примечание 1. Все последующие примеры Вы можете проверять на работоспособность в Вашем браузере самостоятельно. Для этого скопируйте текст примера в файл (скажем, primer. ); если текст примера состоит только из JavaScript-кода, то заключите его в тэги <SCRIPT> и </SCRIPT>. Получившийся файл можно просматривать в браузере.
Примечание 2. В данной вводной лекции примеры даются без document.write(строка) записывает указанную строку в текущий HTML-документ. Например, следующие два фрагмента HTML-документа равносильны:
| Простой HTML-документ | Использование document.write() |
|---|---|
<HTML> <BODY> <H1>Заголовок</H1> </BODY> </HTML> |
<HTML>
<BODY>
<SCRIPT>
document.write('<H1>Заголовок</H1>');
</SCRIPT>
</BODY>
</HTML>
|
контейнера A, в атрибуте SRC контейнера , в атрибуте контейнера FORM и т.п. Все URL подразделяются на ftp, для доступа к , для отправки электронной почты - схема . Тип схемы определяется по первому компоненту URL, например:
http://intuit.ru/directory/page.html
В данном случае URL начинается с http - это и есть задание http ).
Основной задачей языка программирования гипертекстовой системы является программирование гипертекстовых переходов. Это означает, что при выборе той или иной гипертекстовой ссылки вызывается программа реализации гипертекстового перехода. В Web-технологии стандартной программой, вызываемой при гипертекстовом переходе, является программа загрузки страницы (т.е. при JavaScript:
<A HREF="JavaScript:код_программы">...</A> <FORM ACTION="JavaScript:код_программы" ...> ... </FORM>
В данном случае текст " код_программы " обозначает программу-обработчик на JavaScript, которая вызывается при выборе гипертекстовой ссылки в первом случае и при Кликни здесь " можно получить
<A HREF="JavaScript:alert('Внимание!!!');">Кликни здесь</A>
(рис 1.1) Окно предупрежденияА при нажатии на кнопку типа в форме можно заполнить текстовое поле этой же формы:
<FORM METHOD=post NAME="form" ACTION="JavaScript:form.e.value='Нажали кнопку: Заполнить';void(0);"> <INPUT TYPE=text NAME=e SIZE=30 VALUE=""><BR> <INPUT TYPE=submit VALUE="Заполнить"> <INPUT TYPE=reset VALUE="Очистить"> </FORM>
В URL можно размещать сложные программы и вызовы функций. Таким образом, при программировании гипертекстового перехода JavaScript-
Такие программы, как и соответственно вызывается обработчик этого события :
<FORM><INPUT TYPE=button VALUE="Кнопка"
onClick="alert('Вы нажали кнопку');"></FORM>
А в момент завершения полной загрузки документа (он связан с контейнером <BODY> ) происходит событие и, соответственно, будет вызван обработчик этого события onLoad:
<BODY onLoad="alert('Приветствуем!');">
...
</BODY>
{код_программы}; и используются в качестве значений атрибутов HTML-контейнеров. В следующем примере INPUT будет иметь, в качестве значения по умолчанию, адрес текущей страницы, а размер поля будет равным количеству символов в этом адресе.
<HTML>
<HEAD>
<SCRIPT>
function l()
{
str = window.location.href;
return(str.length);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM><INPUT TYPE=text SIZE="{l()};"
VALUE="{window.location.href};">
</FORM>
</BODY>
</HTML>
В случае {..}; у атрибута контейнера, он передает управление JavaScript-
Очевидно, что размещать в заголовке документа генерацию текста страницы бессмысленно - он не будет отображен браузером. Поэтому в заголовок помещают декларации общих переменных и функций, которые будут затем использоваться в
В px ) равна количеству символов в адресе страницы, умноженному на 10:
<INPUT TYPE=text style="width:expression(10*location.href.length+'px')">
Мы не будем подробно останавливаться на этом способе использования JavaScript-кода.
Контейнер SCRIPT - это развитие подстановок до возможности генерации текста документа JavaScript-кодом. В этом смысле применение SCRIPT аналогично <SCRIPT>. SCRIPT и возвращает управление HTML-парсеру для обработки текста страницы после тега конца контейнера </SCRIPT>.
Помещать JavaScript-код на HTML-странице с помощью контейнера <SCRIPT> можно двумя способами. Первый состоит в написании текста кода непосредственно внутри этого контейнера:
<SCRIPT> a = 5; </SCRIPT>
Второй способ состоит в том, чтобы вынести код JavaScript в отдельный файл, например, myscript.js (расширение может быть любым), и затем включить его в HTML-страницу следующим образом:
<SCRIPT SRC="myscript.js"></SCRIPT>
Этот способ удобен, когда один и тот же скрипт планируется использовать на разных HTML-страницах. Обратите внимание, что при наличии атрибута SRC содержимое контейнера <SCRIPT> пусто, и это не случайно: согласно спецификации HTML, если скрипт подключается из <SCRIPT> и </SCRIPT>, если таковой имеется, будет проигнорирован браузером.
Здесь уместно небольшое замечание, которое позволит Вам избежать одной ошибки начинающих программистов. Между тэгами <SCRIPT> и </SCRIPT> не должно встречаться последовательности символов </SCRIPT> в любом контексте. Например, следующий пример работать не будет:
<SCRIPT>
alert('</script>');
</SCRIPT>
Дело в том, что специфика </script> ", т.е. не на той, на которой было нужно нам. Чтобы пример заработал, достаточно, например, написать (т.к. комбинация " \/ " выводит на экран символ " / "), либо разбить строчку на две: .
Контейнер SCRIPT выполняет две основные функции:
Первая функция аналогична декларированию переменных и функций, которые потом можно будет использовать в качестве программ переходов, обработчиков событий и подстановок. Вторая - это
Собственно, особенного разнообразия здесь нет. Код можно разместить либо в заголовке документа (внутри контейнера HEAD ) либо в BODY ). Последний способ и его особенности будут рассмотрены в разделе "Условная генерация HTML-разметки на стороне браузера". Поэтому обратимся к заголовку документа.
Код в заголовке документа размещается внутри контейнера SCRIPT. В следующем примере мы декларировали функцию time_scroll() в заголовке документа, а потом вызвали ее как обработчик события в теге начала контейнера BODY.
<HTML>
<HEAD>
<SCRIPT>
function time_scroll()
{
var d = new Date();
window.status = d.getHours()
+ ':' + d.getMinutes()
+ ':' + d.getSeconds();
setTimeout('time_scroll()',1000);
}
</SCRIPT>
</HEAD>
<BODY onLoad="time_scroll()">
<H1>Часы в строке статуса</H1>
</BODY>
</HTML>
Функция ). Наконец, она откладывает ( ) повторный вызов самой себя на 1000 миллисекунд (т.е. 1 секунду). Таким образом, каждую секунду в поле статуса будет отображаться новое время.
Всегда приятно получать с сервера страницу, подстроенную под возможности нашего браузера или, более того, под пользователя. Существует только две возможности генерации таких страниц: на стороне сервера или непосредственно у клиента. JavaScript-код исполняется на стороне клиента (на самом деле, серверы компании
Для генерации HTML-разметки контейнер SCRIPT размещают в BODY. Простой пример - встраивание в страницу локального времени:
<BODY>
...
<SCRIPT>
d = new Date();
document.write('Момент загрузки страницы: '
+ d.getHours() + ':'
+ d.getMinutes() + ':'
+ d.getSeconds());
</SCRIPT>
...
</BODY>
Несколько слов о различных видах комментариев. В программе JavaScript можно оставлять //. Текст начиная с этих символов и до конца строки считается комментарием. Многострочный комментарий заключается между символами /* и */ и может простираться на несколько строк.
<SCRIPT> a=5; // однострочный комментарий /* Многострочный комментарий */ </SCRIPT>
Для скрытия JavaScript-кода от интерпретации старыми браузерами, не поддерживающими JavaScript (у высокого начальства еще встречаются), весь JavaScript-код между тэгами <SCRIPT> и </SCRIPT> приходится заключать в HTML-комментарии <!-- и -->. Можно предположить, что эти комбинации символов, не являясь полноценными операторами JavaScript, могут быть неверно поняты JavaScript-<!-- считается началом однострочного комментария (наряду с // ). Со второй комбинацией ( --> ) такой трюк невозможен (т.к. двойной минус имеет специальное значение в JavaScript), и ее приходится комментировать символами //, что иллюстрирует следующий пример.
<SCRIPT> <!-- Скрываем JavaScript-код от старых браузеров a = 5; // --> </SCRIPT>
Однако в данном курсе мы не будем загромождать примеры такого рода HTML-комментариями, переложив эту обязанность на пользователя. К тому же, все реже можно встретить браузеры, которые вместо выполнения JavaScript-кода выдают его текст в окно браузера.
Контейнер <SCRIPT> имеет необязательный атрибут LANGUAGE, указывающий язык, на котором написан содержащийся внутри контейнера скрипт. Значение атрибута не JavaScript ". Поэтому все наши примеры можно записывать следующим образом:
<SCRIPT LANGUAGE="JavaScript"> ... </SCRIPT>
В качестве альтернативы атрибут LANGUAGE может принимать значения " " (упоминавшаяся выше разновидность языка JavaScript, разработанная компанией Microsoft), " " или " VBS " (оба указывают на язык программирования LANGUAGE="JavaScript1.2". Потребность в этом может возникнуть, если нужно написать разные участки кода для браузеров, поддерживающих разные версии языка.
Следует также иметь в виду, что в настоящей версии языка HTML (т.е. 4.0 и выше) атрибут LANGUAGE контейнера <SCRIPT> считается устаревшим и нерекомендуемым к использованию (deprecated). Вместо него в контейнере <SCRIPT> рекомендуется использовать атрибут TYPE. Его значениями, также не чувствительными к регистру, могут быть " text/javascript " (значение по умолчанию), " text/ " и другие. Например, все наши примеры можно оформлять так:
<SCRIPT TYPE="text/javascript"> ... </SCRIPT>
Некоторые старые браузеры не понимают атрибут TYPE, поэтому можно задавать оба атрибута одновременно - LANGUAGE и TYPE. Атрибут TYPE имеет высший приоритет, т.е. если браузер распознает значение TYPE, то значение LANGUAGE игнорируется.
Поскольку в любом случае значение по умолчанию соответствует языку JavaScript, в наших примерах эти атрибуты будут опускаться.
Как Вы, наверное, знаете, <SCRIPT> можно писать как <script>, его атрибуты - как Type, LANGuage и src, значение атрибутов, указывающих язык, - как " JavaSCRIPT " и " TEXT/JavaScript ". Разумеется, значение атрибута SRC, т.е. имя файла, следует писать точно так, как файл назван в операционной системе.
Напротив, var myText='Привет', то в дальнейшем ее можно использовать только как myText, но не MyText. В этом кроется частая ошибка, которую допускают программисты на JavaScript. Она усугубляется еще и тем, что JavaScript не требует явно декларировать переменные, и встретив MyText,
Это касается и всех встроенных объектов, свойств и методов языка. Например, объектом является document. Вызов document.write() нельзя записать как Document.write() или document.Write(). К свойству объекта document, задающему document.bgColor, а метод этого же объекта, выдающий элемент с заданным идентификатором " id5 ", можно вызвать только как document.getElementById("id5").
Названия событий, такие как (щелчок мышью), DblClick (двойной щелчок мышью), (окончание загрузки документа) и т.п. сами по себе не являются элементами синтаксиса. Обработчики же соответствующих событий могут появляться в двух контекстах:
Load вызывалась функция myFunction, мы должны написать: window.onload = myFunction. Названия обработчиков событий onload, onmouseover и т.п. в таком контексте должны быть написаны маленькими буквами;onLoad вызывал функцию myFunction, мы можем написать в HTML-исходнике: <BODY onLoad="myFunction()"> либо <BODY ONLOAD="myFunction()">.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.