[Содержание] [Предыдущая] [Следующая] [Индекс]

Глава 1
Введение

Эта глава кратко представляет JavaScript - кроссплатформенный, основанный на объектах язык создания сценариев фирмы Netscape для клиентских и серверных приложений.

JavaScript позволяет Вам создавать приложения, которые работают в Internet. При использовании JavaScript, Вы можете создавать динамические HTML страницы, которые обрабатывают ввод пользователя и поддерживают постоянные данные, используя специальные объекты, файлы и реляционные базы данных. Вы можете формировать приложения в пределах внутрекорпоративного информационного управления и intranet публикаций массово-рыночных электронных трудов и торговле. Через функциональные возможности LiveConnect JavaScript, Ваши приложения могут обращаться к Java и CORBA распределенным объектным приложениям.

Server-side и client-side JavaScript совместно используют тот же самый базовый язык. Этот базовый язык соответствует ECMA-262, язык создания сценариев, стандартизированный Европейским органом стандартов, с некоторыми добавлениями. Базовый язык содержит набор основных объектов, типа объектов Array и Date. Он также определяет другие свойства языка типа выражений, инструкций и операторов. Хотя server-side и client-side JavaScript используют те же самые основные функциональные возможности, в некоторых случаях они используют их по разному. Вы можете загрузить PDF версию ECMA-262 спецификации.

Компоненты JavaScript проиллюстрированы на Рисунке 1.1.

Рисунок 1.1   Язык JavaScript.

Client-side JavaScript (или Navigator JavaScript) включает базовый язык плюс дополнения типа предопределенных объектов, уместных только во время выполнения JavaScript в браузере. Server-side JavaScript включает тот же самый базовый язык плюс дополнения типа предопределенных объектов и функций, уместных только во время выполнения JavaScript на сервере.

Client-side JavaScript внедряется непосредственно в страницы HTML и интерпретируется браузером полностью во время выполнения. Так как промышленные приложения часто имеют большие запросы для их выполнения, JavaScript приложения, которые пользуются преимуществом возможности server-side, компилируются прежде, чем будут доступны. Следующие два раздела представляют Вам, как JavaScript работает на клиенте и сервере.

Client-Side JavaScript

Web браузеры типа Netscape Navigator 2.0 (и более поздние версии) могут интерпретировать инструкции JavaScript client-side, внедренные в страницы HTML. Когда браузер (или клиент) требует такую страницу, сервер посылает полное содержание документа, включая инструкции HTML и JavaScript, по сети клиенту. Клиент читает страницу сверху до низу, отображает результат HTML и выполняет инструкции JavaScript, когда они встречаются. Этот процесс производит результаты, которые пользователь видит и это проиллюстрировано на Рисунке 1.2.

Рисунок 1.2   Client-side JavaScript.

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

Server-Side JavaScript

Server-side JavaScript также внедряется в HTML страницы. Инструкции server-side могут соединяться с реляционными базами данных различных продавцов, совместно использовать информацию независимо от пользователей приложения, обращаться к файловой системе на сервере, или связываться с другими приложениями через LiveConnect и Java. Скомпелированное JavaScript приложение может также включать client-side JavaScript в дополнение к server-side JavaScript.

В отличие от чистых client-side JavaScript сценариев, JavaScript приложения, которые используют server-side JavaScript компилируются в исполняемые файлы с байтовым кодом. Эти выполняемые приложения выполняются совместно с web сервером, который содержит JavaScript двигатель времени выполнения. По этой причине, создание JavaScript приложения это двухпозиционный процесс.

В первой стадии, показанной на Рисунке 1.3, Вы (разработчик) создаете HTML страницы (которые могут содержать и client-side и server-side инструкции JavaScript) и JavaScript файлы. Вы затем компилируете все эти файлы в одну выполняемую программу.

Рисунок 1.3   Server-side JavaScript в течение разработки.

Во второй стадии, показанной на Рисунке 1.4, страница в приложении запрашивается браузером пользователя. Двигатель времени выполнения использует выполняемую программу приложения, чтобы искать источник страницы и динамически генерировать HTML страницу для возврата. Он выполняет любые инструкции server-side JavaScript, найденные на странице. Результатом этих инструкций может быть добавление новых HTML или client-side JavaScript инструкций к HTML странице. Затем посылает возникающую в результате страницу через сеть клиенту Navigator, который показывает результаты.

Рисунок 1.4    Server-side JavaScript в течение выполнения.

В отличие от стандартных программ Общего Интерфейса Ворот (CGI), все JavaScript интегрированы непосредственно в HTML страницы, облегчая быструю разработку и простое сопровождение. Сервис Управления Сессией JavaScript содержит объекты, которые Вы можете использовать, чтобы поддержать данные, которые сохраняются независимо от запросов пользователя, многочисленных клиентов и мночисленных приложений. LiveWire Сервис Баз Данных JavaScript обеспечивает объекты для доступа к базе данных, которые служат как интерфейс к Структурированному Языку Запросов (SQL) сервера баз данных.

Объекты JavaScript

JavaScript имеет предопределенные объекты для базового языка, также как дополнения для client-side и server-side JavaScript.

JavaScript имеет следующие основные объекты:

Array, Boolean, Date, Function, Math, Number, Object, String

Следующие дополнительные client-side объекты:

Anchor, Applet, Area, Button, Checkbox, document, event, FileUpload, Form, Frame, Hidden, History, Image, Layer, Link, Location, MimeType, navigator, Option, Password, Plugin, Radio, Reset, screen, Select, Submit, Text, Textarea, Window

Эти объекты представляют информацию, уместную в работе с JavaScript в web браузере. Многие из этих объектов связаны друг с другом, встречаясь как значения свойств. Например, чтобы обратиться к изображениям в документе, Вы используете массив document.images, каждый из элементов которого объект Image. Рисунок 1.5 показывает иерархию объектов client-side.

Рисунок 1.5    Связи между объектами client-side

Объекты server-side:

blob, client, Connection, Cursor, database, DbPool, File, Lock, project, request, Resultset, SendMail, server, Stproc

Как показано на Рисунке 1.6, некоторые дополнительные объекты server-side также имеют иерархию.

Рисунок 1.6    Свизи между объектами LiveWire

Защита JavaScript

Navigator версии 2.02 и более поздние автоматически предотвращают доступ сценариев на одном сервере к свойствам документов на другом сервере. Это ограничение предотвращает получение сценариями частной информации типа структуры каталогов или истории сессии пользователя.

JavaScript для Navigator 3.0 имеет свойство, называемое заражение данных, которое сохраняет ограничение защиты, но обеспечивает способ безопасного доступа к специфическим компонентам на странице.

В Navigator  4.0 заражение данных было удалено. Вместо этого Navigator  4.0 обеспечивает подписи сценариев JavaScript для более надежной и более гибкой защиты.

Для информации о заражении данных и подписывании сценариев, смотрите Главу 7, "Защита JavaScript," в Руководстве по JavaScript.


[Содержание] [Предыдущая] [Следующая] [Индекс]

Последняя Модификация: 10/31/97 12:29:51


Права © 1997 Netscape Communications Corporation



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz