Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ПСП] / lab22.doc
Скачиваний:
82
Добавлен:
31.05.2015
Размер:
6.19 Mб
Скачать

Клиентские скрипты

Одной из больших проблем для множества web-приложений является необходи­мость вновь обращаться с повторными запросами на web-сервер для внесения из­менений в то, что показывается пользователю в окне браузера. Конечно, во многих случаях такие обращения неизбежны, но если есть возможность сократить их ко­личество, то этой возможностью надо пользоваться. Один из способов сократить количество запросов на web-сервер заключается в применении клиентских (брау-зерных) скриптов, например, для проверки введенных пользователем данных пе­ред передачей этих данных на сервер.

Например, в нашей ситуации пользователю необходимо ввести имя пользователя и пароль для аутентификации. Если какое-либо из полей останется незаполненным, аутентификация все равно не произойдет. Поэтому вполне можно сделать так, чтобы пользователь не мог отправить данные на сервер, не заполнив оба поля. Конечно, в этой ситуации только кодом HTML нам не обойтись: HTML — это язык разметки, а не программирования. Для того чтобы реализовать проверку введенных пользователем данных, нам придется использовать какой-либо из языков для работы со скриптами.

Существует множество языков для работы со скриптами, но для скриптов, вы­полняющихся в браузерах, подойдут далеко не все. Internet Explorer поддержива­ет два языка: VBScript (диалект Visual Basic для работы со скриптами) и JavaScript, a Netscape Navigator — только JavaScript. Если мы можем гарантировать, что кли­енты нашего приложения будут использовать только Internet Explorer, можно ис­пользовать любой из языков для работы со скриптами. Но на обычных web-сай­тах, открытых для доступа самых разных клиентов, как правило, используется только один язык для браузерных скриптов —JavaScript.

JavaScript — очень популярный язык скриптов, который де-факто является стандартом для создания браузерных скриптов. Сразу заметим, что JavaScript ни­коим образом не является частью языка Java. JavaScript — это совершенно отдель­ный язык программирования, который предназначен для решения специальных задач и в котором предусмотрено гораздо меньше возможностей, чем в Java. JScript — это название реализации JavaScript от Microsoft.

Пример клиентского скрипта

Как правило, клиентские скрипты выполняются в ответ на события графических элементов HTML. Как же происходит перехват таких событий? Проще всего по­казать это на примере.

Предположим, что мы работаем с очень простой web-страницей, представлен­ной на рис. 14.17. Единственная кнопка на этой странице будет называться testBtn (проще всего присвоить это имя из свойств кнопки). Чтобы настроить перехват события, возникающего при нажатии этой кнопки, перейдем в режим просмотра HTML и выберем нашу кнопку в левом ниспадающем списке. Затем в правом спис­ке выберем для этой кнопки событие onclick (рис. 14.18)

Рис. 14.17. Новая страница HTML

Рис. 14.18. Перехват событий элементов управления HTML

Выполнив эти действия, мы сможем обнаружить в коде HTML следующие из­менения:

<HTML>

<HEAD>

<TITLE></TITLE>

<МЕТА NAME="GENERATOR" Content="Microsoft Visual Studio">

<META HTTP-EQUIV="Content-Type" content="text/html">

<Script ID=clientEventHancnerJS language=javascript>

<!-

function testBtn_onclick { }

//->

</script>

</HEAD>

<BODY>

<p align = center>

<font size = 5>Here is a single button which responds to clicks...</font></p> <p align = center>

<input id=testBtn type=button value=Button name=testBtn language=javascript onclick="return testBtn_onclick()"/>

/BODY> /HTML>

Как мы видим, на нашей странице в разделе <head></head> появился блок <script>, для которого в качестве используемого языка указан JavaScript. Обратите внима­ние, что сам код скрипта помещен в блок комментария HTML. Причина понят­на — если страница будет открыта в браузере, который не поддерживает JavaScript, то этот код будет воспринят как комментарий и проигнорирован.

Обратите также внимание, что в теге для нашей кнопки появился новый атри­бут onclick, который ссылается на метод JavaScript. В результате при нажатии на эту кнопку будет вызван этот метод. Сильно усложнять содержание метода мы не будем, и для наших целей его код будет таким:

<script id = clientEventHandlersJS language = javascript>

<!-

function testBtn_onclick()

{

// Аналог MessageBox в JavaScript

Alert(“Hey, stop clicking me...")

}

//->

</script>

При нажатии на кнопку мы получим окно сообщения, представленное на рис. 14.19.

Рис. 14.19. Окно оповещения (alert) Internet Exlorer

Соседние файлы в папке [ПСП]