Хостинг не поддерживает javascript разберем детали


DatkNet - Создаем свой сайт



Хостинг не поддерживает javascript,

После прохождения «курса молодого бойца» по оформлению веб-страничек («К+П» N 4–11/2001) у многих читателей, вероятно, появилось желание сделать их более оригинальными. Например, запустить «бегущую строку», запрограммировать реакцию на определенные действия пользователя или просто автоматизировать обновление страницы, чтобы на ней всегда стояло сегодняшнее число или чтобы браузер сам определял дату последнего обновления. А может быть, пускай страница сама дает рекомендации, каким браузером ее лучше просматривать.

Почему бы и нет? Для этого нужно воспользоваться специальным языком программирования, который будет понятен браузеру. Именно такие возможности и предоставляет «язык сценариев» JavaScript (не путать с Java! Несмотря на созвучие, это разные языки).

Разработчиком JavaScript считается компания Netscape. Сейчас доступно несколько версий этого языка. Обычно каждый новый релиз браузера поддерживает и более свежую версию JavaScript (табл. 1).

Таблица 1. Соответствие между версиями JavaScript и Netscape Navigator
JavaScript Navigator
1.0 2.0
1.1 3.0
1.2 4.0-4.05
1.3 4.06-4.7x
1.4
1.5 6.0 Mozilla

По имеющимся данным, оба последних релиза (5.x и 6.0) браузера Opera поддерживают JavaScript не выше версии 1.3. Аналогичная ситуация сложилась и с Internet Explorer 5.

Прежде всего, хотелось бы отметить, что некоторые функции, несмотря на одинаковые названия, работают в разных браузерах по-разному. Поэтому веб-странички, отлаженные, например, в Internet Explorer, в Navigator или Opera, могут выглядеть совсем не так, как того вы хотели, или вообще никак не выглядеть. Некоторые различия наблюдаются даже для разных релизов одного и того же браузера. Для упрощения поставленной задачи мы будем ориентироваться на два браузера: Internet Explorer 5 (стандартная «начинка» подавляющего большинства ПК под управлением Windows 98) и Opera 5 (которому я отдаю предпочтение ввиду скорости работы и суперкомпактности). Одним из преимуществ JavaScript является то, что код выполняется всегда - независимо от того, поддерживает браузер язык Java или нет. Поддержка JavaScript реализована во многих современных браузерах: Internet Explorer, Netscape Navigator, Opera…

К сожалению, JavaScript (как, впрочем, и Java) не лишен недостатков. Основных минусов, на мой взгляд, два.

Первый заключается в том, что эти «умные» программы способны выполнять на ПК пользователя разные действия. Так, случайно попав на сайт какого-нибудь недоброжелателя, можно лишиться паролей доступа к сети или номеров электронных кредиток. Конечно, можно отключить в браузере выполнение сценариев, но что за удовольствие путешествовать по «неживому» сайту?

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

Как же работают странички с JavaScript? Структура веб-страницы с JavaScript практически не отличается от страницы без сценариев. Нужно только вставить в определенную область HTML-документа необходимый код. В общем случае структура HTML-страницы может иметь такой вид:

Рассмотрим простейший вариант. Браузер загружает страницу, которая выдает какое-нибудь сообщение (рис. 1). Для этого можно использовать следующий код:

В данном случае использована стандартная функция alert. В качестве аргумента ей передается строковая переменная, содержимое которой отображается в отдельном окне. Кстати, в данном случае кавычки в строке

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

А теперь вернемся к самой программе. В ходе загрузки нашего HTML-файла откроется дополнительное окно с приветствием «С Днем рождения!» и единственной кнопкой OK. Однако если на страничке используется несколько различных функций, обращающихся то к одной, то к другой подпрограмме, то будет корректнее (и с точки зрения программирования, и для наглядности) использовать именно подпрограммы-функции. В таком случае данный фрагмент кода будет выглядеть немного иначе:

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

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

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

После нажатия появится еще одно окно. щелкни здесь!

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

Вернемся к оператору return. Сделаем так, чтобы сообщение выводилось в текущем окне. Тогда код примера примет вид:

Вызов функции осуществляется при помощи оператора вывода на экран document.write(). Сама же функция состоит всего из одного оператора, возвращающего значение строковой переменной. Приветствие в данном случае появится не в отдельном окне, а прямо в основном окне браузера.

Попытаемся изменить код таким образом, чтобы сообщение выводилось не в теле основной программы, а в вызываемой функции. Как это сделать? Очень просто:

Стандартный черный текст на белом фоне не очень-то привлекателен. Добавим цвета. Цвета и размер шрифтов, цвет фона и ссылок, а также другие атрибуты достаточно «прописать» в том же операторе document.write(). Например, сделаем черный текст на фоне aquamarine, а отдельные слова приветствия выделим синим (рис. 3). Код будет выглядеть так:

Для того чтобы иметь возможность использовать кавычки в тексте, выводимом через функцию document.write(), можно поступить так. Общее «обрамление» сделать с помощью двойных кавычек, а апострофы и т. п. внутри текста - одинарными или наоборот. Хотя можно использовать и зарезервированные условные обозначения некоторых символов. Так, двойным кавычкам соответствует комбинация (так называемое внутреннее представление ESC-кода) /u0022, одинарным - /u0027, обратной косой черте - /u005c. К сожалению, при просмотре страничек в Opera такой вариант «не проходит». Чтобы удовлетворить одновременно оба браузера, можно использовать следующие ESC-последовательности: соответственно /, / и /. Для двойных кавычек во всех трех браузерах можно использовать символ . Эти рекомендации справедливы и для Navigator 6.2.

Особо хотелось бы обратить внимание на составление скриптов. На ошибку в HTML-коде иногда укажет сам браузер. Если же ошибиться даже одной буквой в коде скрипта - например, написать:

При загрузке странички появится уже знакомое нам приветствие. Выделение слова «программер» намекает посетителю на то, что, если по нему щелкнуть, откроется второе окно. Например, с пояснением для новичков, что оно означает… О назначении функции OpenWin(), надеюсь, вы и сами догадались. Правильно, она использует стандартную функцию window.open() для создания и открытия окна шириной 500 и высотой 400 пикселей. Для удобства и «сжатия» этого окна мы отключили отображение нижней строки состояния, где обычно выводятся сообщения о загрузке страницы, а также окно с навигационными кнопками. Подробнее о параметрах страницы речь пойдет позже.

Если щелкнуть на слове «программер», откроется файл programr.htm. Его HTML-код может быть, например, таким:

Правда, здесь есть один недостаток. Для того чтобы закрыть «словарь», необходимо зайти в меню и выбрать команду Файл * Закрыть. Согласитесь, это довольно неудобно. Можно ли автоматизировать этот процесс? Конечно. Для этого нужно создать, например, радиокнопку, которая будет вызывать соответствующую функцию (которая называется window.close()):

Программер (жарг.) - программист.

Вместо функции window.close() можно использовать self.close().Обе отлично справляются со своими обязанностями и в Internet Explorer, и в Opera. Кстати, для Opera можно написать просто close().

Конечно, для удобства нашу программу желательно дополнить еще небольшим фрагментом, с помощью которого можно было бы спросить юзера, желает ли он закрыть окно или нет? Для этого достаточно внести в код такие косметические изменения:



Словарик с кнопкой закрытия окна. Вариант с запросом.

Программер (жарг.) — программист.

Для обработки запроса здесь используется стандартная функция confirm(). За вызов функции-обработчика запроса OnExit() отвечает оператор onClick.

А можно ли организовать навигацию по веб-страницам - например, возврат на предыдущую страницу - без использования стандартных кнопок браузера? Конечно. Для этого достаточно «повесить» на каждую страничку соответствующую кнопку перехода:

Вместо оператора history.go(-1) можно использовать history.back(1). Результат будет одинаковым и в IE, и в Opera.

Теперь, похоже, все в порядке. Кстати, что означает текст между тегами ? Дело в том, что некоторые браузеры не поддерживают JavaScript и, следовательно, могут не отобразить нашу кнопку. И это относится не к какой-то экзотике, а к обычным браузерам. Например, если отключить выполнение JavaScript, указанная строка не будет видна в старой версии 3.x и в новой 5.x Internet Explorer. В таком случае нужно дать пользователю «руководство к действию».

При создании окна используется несколько параметров. Давайте разберемся, для чего они предназначены. Для активации параметра достаточно присвоить ему значение. Описания некоторых параметров, использованных в нашем примере, представлены в таблице 2.

Таблица 2.
Параметр Значение Описание
width 500 ширина окна в пикселях
height 400 высота окна в пикселях
status no не показывать строку состояния, в которой отображаются сообщения о загрузке страницы
toolbar no отключить панель навигационных кнопок. Этот режим работает в IE5 и Navigator 6.2, но не в Opera, так как в этом браузере открывается новое окно, а не копия старого (как в IE)
menubar 0 не отображать строку меню. Как и предыдущий параметр, работает в IE и Navigator (так как открывается еще одна копия браузера), однако в Opera (3 и 5) эффекта не дает
scrollbars yes отображать полосы прокрутки
resizable yes разрешение изменять размер окна. В Opera эффекта не дает
location yes показывать URL, по которому обращается браузер (в т. ч. локальные имена файлов). Имеет смысл использовать в IE и Opera версии не ниже 5, но не в Opera 3 (там адресная строка всегда доступна)
directories yes отображать в строке адреса меню ссылок (только для Internet Explorer и Navigator)

Теперь немного изменим текст программы, демонстрирующей открытие окна. Пусть текст приветствия будет доступен только при загрузке страницы с отключенной графикой. Если же графика включена, на месте приветствия будет небольшая картинка (назовем ее abc.gif), по которой нужно будет щелкнуть для просмотра «словарика».

Рассмотренные примеры с окнами, конечно, удобны. Но есть и более простой вариант. Выполнение сценария можно связать с определенным событием. Например, с попаданием курсора мыши на какую-то ссылку, чтобы в ответ на это событие браузер показал не URL, а комментарий к ссылке.



Подсказка для несмышленой мышки

В self.status записывается текст. onMouseOver работает, когда курсор мыши попадает на URL, а onMouseOut очищает строку после того, как курсор покидает ссылку.

Подводим курсор к слову «программер» и… вместо URL браузер сообщает о новых поздравлениях от Yahoo, Altavistы и Рамблера!

Существует целый набор событий, которые можно связать со сценариями. Кроме упоминавшихся onClick, onMouseOver и onMouseOut, есть также onLoad, onChange, onUnload, onBlur, onReset, onFocus, onSubmit и др. Попробуйте поэкспериментировать с ними самостоятельно. Мы же перейдем к работе с параметрами в JavaScript.

Параметры в пользовательских функциях

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

Код может быть, например, таким:



Приветствие в отдельном окне

По щелчку на картинке (или надписи, если графика отключена) вызывается функция openWindow2(), которая формирует новое окно размером 500 * 400, открывает его и печатает текстовое сообщение. В качестве параметров мы передаем в подпрограмму: ширину и высоту окна в пикселях, параметр swf, в зависимости от значения которого выполняется код по одному из определенных в программе условий, название картинки (с указанием пути), которая появится в новом окне (abc.gif), размеры картинки (мы растянем ее до 120 * 100), название открываемого окна (Окно 2), текст, который будет отображаться при отключенной графике вместо картинки (С днем рождения, программер!), начальные смещения нового окна (0,0).

Оператор сравнения == «решает», какой код выполнять. В нашем случае напечатается строка «обработка параметра. ».

Хостинг node.js и JavaScript

Недавно в Сети появилась статья, где затрагивалась особая проблема: Node.js — это JavaScript, или же нет.

Отдельные представленные в статье аргументы были вполне справедливыми, но, к сожалению, безосновательны. Другие аргументы были вообще не правдивыми.

Далее я хочу просто сравнить скрипты JavaScript и Node.js в таком виде, в котором его все привыкли видеть.

Отличия: хостинг node.js и JavaScript

Что такое Node.js, а также JavaScript?

Node, Node.js — это серверная реализация известного языка программирования JavaScript, которая базируется на движке V8. Она используется для создания распределенных масштабируемых сетевых приложений, таких, например, как веб-сервер.

По целям использования Node.js сходен с каркасами Twisted на языке Python, а также EventMachine на языке Ruby. В отличие от подавляющего большинства приложений JavaScript, данный каркас исполняется не в веб-браузере пользователя, а на стороне сервера.

JavaScript — это сценарный прототипно-ориентированный язык программирования, который является диалектом языка под названием ECMAScript.

Описанное выше определение Node.js расплывчато и не совсем корректно.

Node.js — это среда выполнения языка JavaScript, точно как веб-браузер, с той только разницей, что у нас нет доступа к DOM (а собственно, зачем он вообще надо на стороне сервера?, но существует специальная библиотека для работы с DOM — jsdom).

Поставить платформу на виртуальный хостинг, к сожалению, не получится. Ее работу поддерживает лишь полноценный виртуальный сервер.

Причем здесь Google

Действительно, причем? Да, хостинг node.js был основан на V8 от Google, однако на этом все. Слышать что компания Google как-то причастна к созданию Node.js — это все равно, что сказать в США слово Россия и услышать стереотипные водка, медведь и балалайка.

Изначально разработку ведут авторы проекта (единственное надо заметить, что главный автор ушел из этого проекта, дабы заняться какими-то новыми идеями). Спонсирование проекта ведет непохожая на Google организация под названием Joyent.

Так в чем тогда отличие? Начнем с того, что для Node.js уже написано множество встроенных библиотек, специальных модулей.

Также, в Node.js частенько пользуются функциями callback, в отличие от стандартного JavaScript. И если смотреть несколько поверхностно, то это все. Для того, чтобы найти еще какие-то отличия — требуется копать гораздо глубже.

Сегодня JavaScript, а завтра Node.js

Node.js и JavaScript, безусловно, очень отличаются. Хотя сравнивать площадку и язык странно, но под JavaScript я подразумеваю именно скрипт, выполняемый на стороне пользователя, а Node.js уже на сервере.

Так если это две совершенно разные стороны одной монеты, то и перейти с одной на другую трудно? Совсем не важно, на какой именно стороне выполняется конкретный скрипт, JavaScript остается JavaScriptом.

Этим меня Node.js и привлек: не нужно писать на двух различных языках клиентскую и серверную часть. А если необходимо использовать одинаковый программный код, то достаточно воспользоваться всем известным Ctrl-C Ctrl-V.

Желание стабильности

Про стабильность программ можно разговаривать целую вечность. Никто не может вам, к сожалению, гарантировать стабильную работу, всегда есть так называемый фактор случайности. И Node.js здесь не исключение, как Windows или Chrome.

Но достаточно часто обновляется (раз в две недели или чаще), что обозначает вполне надежную работу программы. Поэтому на это грех жаловаться.

Заключение

Этим материалом я выразил свое собственное видение проблемы. Я уверен, что найдутся те, кто скажет, что важных различий намного больше, но я пока что их не заметил.

Хостинг не поддерживает javascript,

После прохождения «курса молодого бойца» по оформлению веб-страничек («К+П» N 4–11/2001) у многих читателей, вероятно, появилось желание сделать их более оригинальными. Например, запустить «бегущую строку», запрограммировать реакцию на определенные действия пользователя или просто автоматизировать обновление страницы, чтобы на ней всегда стояло сегодняшнее число или чтобы браузер сам определял дату последнего обновления. А может быть, пускай страница сама дает рекомендации, каким браузером ее лучше просматривать.

Почему бы и нет? Для этого нужно воспользоваться специальным языком программирования, который будет понятен браузеру. Именно такие возможности и предоставляет «язык сценариев» JavaScript (не путать с Java! Несмотря на созвучие, это разные языки).

Разработчиком JavaScript считается компания Netscape. Сейчас доступно несколько версий этого языка. Обычно каждый новый релиз браузера поддерживает и более свежую версию JavaScript (табл. 1).

Таблица 1. Соответствие между версиями JavaScript и Netscape Navigator
JavaScript Navigator
1.0 2.0
1.1 3.0
1.2 4.0-4.05
1.3 4.06-4.7x
1.4
1.5 6.0 Mozilla

По имеющимся данным, оба последних релиза (5.x и 6.0) браузера Opera поддерживают JavaScript не выше версии 1.3. Аналогичная ситуация сложилась и с Internet Explorer 5.

Прежде всего, хотелось бы отметить, что некоторые функции, несмотря на одинаковые названия, работают в разных браузерах по-разному. Поэтому веб-странички, отлаженные, например, в Internet Explorer, в Navigator или Opera, могут выглядеть совсем не так, как того вы хотели, или вообще никак не выглядеть. Некоторые различия наблюдаются даже для разных релизов одного и того же браузера. Для упрощения поставленной задачи мы будем ориентироваться на два браузера: Internet Explorer 5 (стандартная «начинка» подавляющего большинства ПК под управлением Windows 98) и Opera 5 (которому я отдаю предпочтение ввиду скорости работы и суперкомпактности). Одним из преимуществ JavaScript является то, что код выполняется всегда - независимо от того, поддерживает браузер язык Java или нет. Поддержка JavaScript реализована во многих современных браузерах: Internet Explorer, Netscape Navigator, Opera…

К сожалению, JavaScript (как, впрочем, и Java) не лишен недостатков. Основных минусов, на мой взгляд, два.

Первый заключается в том, что эти «умные» программы способны выполнять на ПК пользователя разные действия. Так, случайно попав на сайт какого-нибудь недоброжелателя, можно лишиться паролей доступа к сети или номеров электронных кредиток. Конечно, можно отключить в браузере выполнение сценариев, но что за удовольствие путешествовать по «неживому» сайту?

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

Как же работают странички с JavaScript? Структура веб-страницы с JavaScript практически не отличается от страницы без сценариев. Нужно только вставить в определенную область HTML-документа необходимый код. В общем случае структура HTML-страницы может иметь такой вид:

Рассмотрим простейший вариант. Браузер загружает страницу, которая выдает какое-нибудь сообщение (рис. 1). Для этого можно использовать следующий код:

В данном случае использована стандартная функция alert. В качестве аргумента ей передается строковая переменная, содержимое которой отображается в отдельном окне. Кстати, в данном случае кавычки в строке

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

А теперь вернемся к самой программе. В ходе загрузки нашего HTML-файла откроется дополнительное окно с приветствием «С Днем рождения!» и единственной кнопкой OK. Однако если на страничке используется несколько различных функций, обращающихся то к одной, то к другой подпрограмме, то будет корректнее (и с точки зрения программирования, и для наглядности) использовать именно подпрограммы-функции. В таком случае данный фрагмент кода будет выглядеть немного иначе:

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

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

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

После нажатия появится еще одно окно. щелкни здесь!

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

Вернемся к оператору return. Сделаем так, чтобы сообщение выводилось в текущем окне. Тогда код примера примет вид:

Вызов функции осуществляется при помощи оператора вывода на экран document.write(). Сама же функция состоит всего из одного оператора, возвращающего значение строковой переменной. Приветствие в данном случае появится не в отдельном окне, а прямо в основном окне браузера.

Попытаемся изменить код таким образом, чтобы сообщение выводилось не в теле основной программы, а в вызываемой функции. Как это сделать? Очень просто:

Стандартный черный текст на белом фоне не очень-то привлекателен. Добавим цвета. Цвета и размер шрифтов, цвет фона и ссылок, а также другие атрибуты достаточно «прописать» в том же операторе document.write(). Например, сделаем черный текст на фоне aquamarine, а отдельные слова приветствия выделим синим (рис. 3). Код будет выглядеть так:

Для того чтобы иметь возможность использовать кавычки в тексте, выводимом через функцию document.write(), можно поступить так. Общее «обрамление» сделать с помощью двойных кавычек, а апострофы и т. п. внутри текста - одинарными или наоборот. Хотя можно использовать и зарезервированные условные обозначения некоторых символов. Так, двойным кавычкам соответствует комбинация (так называемое внутреннее представление ESC-кода) /u0022, одинарным - /u0027, обратной косой черте - /u005c. К сожалению, при просмотре страничек в Opera такой вариант «не проходит». Чтобы удовлетворить одновременно оба браузера, можно использовать следующие ESC-последовательности: соответственно /, / и /. Для двойных кавычек во всех трех браузерах можно использовать символ . Эти рекомендации справедливы и для Navigator 6.2.

Особо хотелось бы обратить внимание на составление скриптов. На ошибку в HTML-коде иногда укажет сам браузер. Если же ошибиться даже одной буквой в коде скрипта - например, написать:

При загрузке странички появится уже знакомое нам приветствие. Выделение слова «программер» намекает посетителю на то, что, если по нему щелкнуть, откроется второе окно. Например, с пояснением для новичков, что оно означает… О назначении функции OpenWin(), надеюсь, вы и сами догадались. Правильно, она использует стандартную функцию window.open() для создания и открытия окна шириной 500 и высотой 400 пикселей. Для удобства и «сжатия» этого окна мы отключили отображение нижней строки состояния, где обычно выводятся сообщения о загрузке страницы, а также окно с навигационными кнопками. Подробнее о параметрах страницы речь пойдет позже.

Если щелкнуть на слове «программер», откроется файл programr.htm. Его HTML-код может быть, например, таким:

Правда, здесь есть один недостаток. Для того чтобы закрыть «словарь», необходимо зайти в меню и выбрать команду Файл * Закрыть. Согласитесь, это довольно неудобно. Можно ли автоматизировать этот процесс? Конечно. Для этого нужно создать, например, радиокнопку, которая будет вызывать соответствующую функцию (которая называется window.close()):

Программер (жарг.) - программист.

Вместо функции window.close() можно использовать self.close().Обе отлично справляются со своими обязанностями и в Internet Explorer, и в Opera. Кстати, для Opera можно написать просто close().

Конечно, для удобства нашу программу желательно дополнить еще небольшим фрагментом, с помощью которого можно было бы спросить юзера, желает ли он закрыть окно или нет? Для этого достаточно внести в код такие косметические изменения:



Словарик с кнопкой закрытия окна. Вариант с запросом.

Программер (жарг.) — программист.

Для обработки запроса здесь используется стандартная функция confirm(). За вызов функции-обработчика запроса OnExit() отвечает оператор onClick.

А можно ли организовать навигацию по веб-страницам - например, возврат на предыдущую страницу - без использования стандартных кнопок браузера? Конечно. Для этого достаточно «повесить» на каждую страничку соответствующую кнопку перехода:

Вместо оператора history.go(-1) можно использовать history.back(1). Результат будет одинаковым и в IE, и в Opera.

Теперь, похоже, все в порядке. Кстати, что означает текст между тегами ? Дело в том, что некоторые браузеры не поддерживают JavaScript и, следовательно, могут не отобразить нашу кнопку. И это относится не к какой-то экзотике, а к обычным браузерам. Например, если отключить выполнение JavaScript, указанная строка не будет видна в старой версии 3.x и в новой 5.x Internet Explorer. В таком случае нужно дать пользователю «руководство к действию».

При создании окна используется несколько параметров. Давайте разберемся, для чего они предназначены. Для активации параметра достаточно присвоить ему значение. Описания некоторых параметров, использованных в нашем примере, представлены в таблице 2.

Таблица 2.
Параметр Значение Описание
width 500 ширина окна в пикселях
height 400 высота окна в пикселях
status no не показывать строку состояния, в которой отображаются сообщения о загрузке страницы
toolbar no отключить панель навигационных кнопок. Этот режим работает в IE5 и Navigator 6.2, но не в Opera, так как в этом браузере открывается новое окно, а не копия старого (как в IE)
menubar 0 не отображать строку меню. Как и предыдущий параметр, работает в IE и Navigator (так как открывается еще одна копия браузера), однако в Opera (3 и 5) эффекта не дает
scrollbars yes отображать полосы прокрутки
resizable yes разрешение изменять размер окна. В Opera эффекта не дает
location yes показывать URL, по которому обращается браузер (в т. ч. локальные имена файлов). Имеет смысл использовать в IE и Opera версии не ниже 5, но не в Opera 3 (там адресная строка всегда доступна)
directories yes отображать в строке адреса меню ссылок (только для Internet Explorer и Navigator)

Теперь немного изменим текст программы, демонстрирующей открытие окна. Пусть текст приветствия будет доступен только при загрузке страницы с отключенной графикой. Если же графика включена, на месте приветствия будет небольшая картинка (назовем ее abc.gif), по которой нужно будет щелкнуть для просмотра «словарика».

Рассмотренные примеры с окнами, конечно, удобны. Но есть и более простой вариант. Выполнение сценария можно связать с определенным событием. Например, с попаданием курсора мыши на какую-то ссылку, чтобы в ответ на это событие браузер показал не URL, а комментарий к ссылке.



Подсказка для несмышленой мышки

В self.status записывается текст. onMouseOver работает, когда курсор мыши попадает на URL, а onMouseOut очищает строку после того, как курсор покидает ссылку.

Подводим курсор к слову «программер» и… вместо URL браузер сообщает о новых поздравлениях от Yahoo, Altavistы и Рамблера!

Существует целый набор событий, которые можно связать со сценариями. Кроме упоминавшихся onClick, onMouseOver и onMouseOut, есть также onLoad, onChange, onUnload, onBlur, onReset, onFocus, onSubmit и др. Попробуйте поэкспериментировать с ними самостоятельно. Мы же перейдем к работе с параметрами в JavaScript.

Параметры в пользовательских функциях

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

Код может быть, например, таким:



Приветствие в отдельном окне

По щелчку на картинке (или надписи, если графика отключена) вызывается функция openWindow2(), которая формирует новое окно размером 500 * 400, открывает его и печатает текстовое сообщение. В качестве параметров мы передаем в подпрограмму: ширину и высоту окна в пикселях, параметр swf, в зависимости от значения которого выполняется код по одному из определенных в программе условий, название картинки (с указанием пути), которая появится в новом окне (abc.gif), размеры картинки (мы растянем ее д

Отзывы

quekadi
Эвелина
epsinthoules
Варлаам
Фелицата

Написать отзыв

Success! Your message has been sent.