Немного более подробно хотелось бы сказать о свойстве appVersion, а точнее о возвращаемом им значении. Все дело в том, что у IE и NN оно будет разным.
Вот какой формат будет у Navigator:
{Версия} [{Язык}] ({Операционная система}; U|I)
Здесь {Версия} представляет собой версию Web-обозревателя, {Язык} - язык программы (но может и отсутствовать), {Операционная система} - обозначение операционной системы клиента, например, "Win96", "Win16" или "WinNT", буква "U" - американскую версию программы, а "I" - интернациональную.
Например:
4.0 [ru] (Win95; I)
У Internet Explorer формат вывода значений свойства appVersion другой:
{Совместимая версия Navigator} (compatible; {Версия}; {Операционная система})
Здесь {Операционная система} может принимать значения "Windows 3.1", "Windows 3.11", "Windows 95" или "Windows NT".
2.0 (compatible; 3.01; Win95)
Свойство userAgent возвращает значение, имеющее формат:
{Значение appCodeName}/{Значение appVersion}
То есть, для двух предыдущих примеров мы получим следующие значения:
Mozilla/4.0 (Win95; I)Mozilla/2.0 (compatible; 3.01; Win95)
Объект screen
Объект screen служит для доступа к характеристикам видеосистемы компьютера клиента.
availHeight
Возвращает высоту полезной области экрана без панели задач и подобных ей элементов графического интерфейса системы.
availWidth
Возвращает ширину полезной области экрана без панели задач и подобных ей элементов графического интерфейса системы.
colorDepth
Возвращает глубину цвета. Для 16 цветов возвращается 2, для 256 - 8, для 16,7 миллионов цветов (режим High Color) - 32
height
Возвращает полную высоту экрана.
width
Возвращает полную ширину экрана.
Объект history
Объект history представляет интерфейс к списку истории Web-обозревателя, т.е. списку всех Web-страниц, просмотренных пользователем в течение времени, указанного в настройках.
Свойства объекта history
current
Возвращает интернет-адрес документа, загруженного в настоящее время.
length
Возвращает размер списка истории.
next
Возвращает интернет-адрес следующего в списке истории документа.
previous
Возвращает интернет-адрес предыдущего в списке истории документа.
Методы объекта history
back()
Загружает в окно Web-обозревателя предыдущий документ из списка истории.
forward()
Загружает в окно Web-обозревателя следующий документ из списка истории.
go()
go({Адрес})
Загружает в окно Web-обозревателя следующий документ из списка истории, интернет-адрес которого наиболее близок к переданному в качестве параметра.
Поддерживается только NN.
go({Позиция})
Перемещается в списке истории на позицию, номер которой передан в качестве параметра.
Поддерживается только IE начиная с 4.0
go({Приращение})
Перемещается в списке историй на количество позиций, переданных в качестве параметра. Можно задавать как положительные, так и отрицательные значения приращения.
Поддерживается только NN.
Советы по JavaScript
Передача и обработка данных в html-файле
Передача данных в html-файл:
Передачу данных в html-файл можно произвести через URL-адрес. После адреса ставиться знак вопроса и после него параметр, который Вы хотите передать. Если этих параметров несколько, то между ними ставиться амперсанд (&).
Пример 1:
"youfile.html?parametr"
Пример 2:
"youfile.html?parametr1¶metr2¶metr3"
Также данные можно передавать при помощи форм. Для этого надо воспользоваться методом GET.
Вот как буде выглядеть URL-адрес в строке броузера:
Пример:
"youfile.html?name1=value1&name2=value2&name3=value3"
Получение переданных данных:
Получение переданных данных выполняется при помощи JavaScript.
Сначало мы присваиваем переменной все то, что находится после знака вопроса:
var p_url=location.search.substring(1);
Если Вы передавали один параметр, то переменную p_url можно обрабатывать.
Если параметров было много, то их надо разделить:
var parametr=p_url.split("&");
У нас получился массив parametr, который содержит полученные данные.
Если Вы пересылали данные при помощи форм, то надо избавиться от знака равенства и присвоить каждой переменной свое значение:
var values= new Array();for(i=0; i var j=parametr.split("="); values[j[0]]=unescape(j[1]);}
Пример:
Если строка была:
"youfile.html?name=Serg&city=Рязань&age=21"
то получим массив:
values[name]="Serg";values[city]="Рязань";values[age]="21";
или можно так:
values[0]="Serg";values[1]="Рязань";values[2]="21";
Чем заменить SSI, или необычное использование JavaScript
Структура подавляющего количества интернет-страничек примерно одинакова: это заголовок странички, навигационное меню и, непосредственно, само содержимое. Нет проблем, когда на Вашем сайте несколько страниц. Если Вы захотели изменить дизайн, то на это уйдет немного времени. А если страниц не 8-10 а 100-200? Чтобы поменять дизайн нужен долгий однообразный кропотливый труд. А если в меню появился новый пункт? Опять же везде на каждой странице надо вводить изменения.
Помочь в этом может SSI - возможность собрать страничку из отдельных блоков. Т.е у Вас есть меню, которое одинаково на всех страницах. Вы его выносите в отдельный файл, а затем включаете его в нужное место на странице. Теперь, чтобы изменить меню на всех страницах, надо изменить его только в одном файле.
Это конечно удобно, но данная возможность имеется только при платном хостинге, или Вам придется вставлять баннеры хостера, что может быть нежелательно для Вас.
Справиться с этой проблемой может язык JavaScript, а именно атрибут SRC в теле тега <SCRIPT>.
Атрибут SRC задает URL файла, в котором находится код программы JavaScript, а в самом файле с расширением *.js мы запишем то, что должно выводиться на экран при помощи метода document.write
Например у нас есть меню состоящее из двух пунктов и страница, в которую надо вставить это меню:
Файл menu.js:
document.write("<B>Меню:</B>
<BR>"); document.write("<A href="page1.html">Ссылка1</A>
<BR>"); document.write("<A href="page2.html">Ссылка2</A>");
Файл page.htmclass="underline"
<html> <head> <title>Проверка</title> </head> <body> <h1>Моя страница</h1> <script src="menu.js"></script> . . . </body> </html>