Java




Несколько простых примеров составления сценариев на JavaScript - часть 3


Данная «добавка» никоим образом не влияет на выполнение сценария. Однако для упрощения все последующие фрагменты кода будут без этих символов.

А теперь вернемся к самой программе. В ходе загрузки нашего HTML-файла откроется дополнительное окно с приветствием «С Днем рождения!» и единственной кнопкой OK. Однако если на страничке используется несколько различных функций, обращающихся то к одной, то к другой подпрограмме, то будет корректнее (и с точки зрения программирования, и для наглядности) использовать именно подпрограммы-функции. В таком случае данный фрагмент кода будет выглядеть немного иначе: <HTML> <HEAD> <TITLE> Приветствие </TITLE> <SCRIPT language="JavaScript"> function hellotoyou() { alert('С Днем рождения!'); return true } </SCRIPT> </HEAD> <BODY> <SCRIPT language="JavaScript"> <!-- вызов функции приветствия --> hellotoyou() </SCRIPT> </BODY> </HTML>

Функция обычно возвращает в вызывающую программу какое-то значение. Поэтому ее последней строкой является оператор return. Впрочем, при отсутствии необходимости его можно пропустить. Конечно, вызвать функцию из основного тела программы можно и с помощью гиперссылки (хотя такой вариант я бы не рекомендовал): <BODY> <P>Для отображения приветствия щелкни <A href="javascript:hellotoyou()"> здесь!</A> </BODY>

Но после окончания работы функции некоторые браузеры (например, Internet Explorer) будут «ругаться», пытаясь загрузить из сети какой-то файл. А вот с Opera и Navigator 6 этого не произойдет (рис. 2).


Этот фрагмент кода можно сделать более корректным с точки зрения IE и Opera, немного изменив содержимое строки в основном теле программы, например, так:

<P>После нажатия появится еще одно окно... щелкни <A href="javascript:void(0);" onClick="hellotoyou();"> здесь!</A>

Теперь программа корректно функционирует и в Internet Explorer 5, и в Opera 5, и в Navigator 6. В более ранних версиях Opera (3.21-3.62) код также работоспособен, но там появляется «лишнее» окно с сообщением javascript execution failed. Впрочем, я думаю, что таким «дефектом» можно пренебречь. А если хотите от него избавиться - просто установите более новый релиз.

Вернемся к оператору return. Сделаем так, чтобы сообщение выводилось в текущем окне. Тогда код примера примет вид: <HEAD> <!-- ..... --> <SCRIPT language="JavaScript"> function hellotoyou() { return ('С Днем рождения!'); } </SCRIPT> </HEAD> <BODY> <SCRIPT> document.write (hellotoyou()); </SCRIPT> </BODY>




Содержание  Назад  Вперед