Справочкик по JavaScript.

Советы по JavaScript.

Передача и обработка данных в html-файле.

Передача данных в html-файл:

Передачу данных в html-файл можно произвести через URL-адрес. После адреса ставиться знак вопроса и после него параметр, который Вы хотите передать. Если этих параметров несколько, то между ними ставиться амперсанд (&).

Пример 1:

"youfile.html?parametr".

Пример 2:

"youfile.html?parametr1&parametr2&parametr3".

Также данные можно передавать при помощи форм. Для этого надо воспользоваться методом 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=Рязань&аgе=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>

<BR>"); document.write("<A href="page1.html">Ссылка1</A>

<BR>"); document.write("<A href="page2.html">Ссылка2</A>");

Файл page.html:

<html> <head> <titlе>Проверка</titlе> </head> <body> <h1>Моя страница</h1> <script src="menu.js"></script> . . . </body> </html>

Т.е. вместо.

<script src="menu.js"></script>

Браузер вставил:

<В>Меню:</B>

<BR> <A href="page1.html">Ссылка1</A>

<BR> <A href="page2.html">Ссылка2</A>

И если вместо меню на всех страницах вставить <script src="menu.js"></script>, то для изменения меню на всех страницах нужно изменить только файл menu.js.

Но у этого метода есть небольшие недостатки:

Как сделать страницу стартовой.

Сделав страницу стартовой при запуске Internet Explorer браузер пользователя будет автоматически загружать указанный адрес.

Вот код ссылки, нажав которую пользователь сделает страницу стартовой:

<a href="#" onClick="this.style.behavior="url(#default#homepage)"; this.setHomePage("http://www.spravkaweb.ru/"); return false;"> Сделать страницу стартовой</а>

Как добавить страницу в избранное.

Добавляет вашу страницу в "Избранное".

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

<a href="#" onClick="window.external.addFavorite ("http://www.spravkaweb.ru/", "Краткий справочник WEB-языков"); return false;"> Добавить сайт в избранное</а>

Как вывести дату последнего изменения страницы.

Эта возможность позволяет автоматически указывать дату последней модификации данной страницы.

Но данная возможность таит и свой минус: требуется почаще обновлять страницу, а иначе пользователь будет думать, что срок годности вашего ресурса уже давно истек.

<script language="JavaScript"> <!-- document.write ("Дата последнего изменения: " + document.lastModified); //--> </script>

Как убрать в теге SELECT рамку и стрелку.

При помощи каскадных таблиц стилей (CSS) можно изменить стандартный вид объекта <SELECT>:

<SELECT size=1 style="position:absolute;width:100px; clip:rect(2px 82px 20px 2px);background:pink;top:10px;">

<OPTION VALUE=1>One.

<OPTION VALUE=2>Two.

<OPTION VALUE=3>Three </SELECT>

Интересный JavaScript - побуквенное появление текста.

Данный эффект позволяет выводить текст побуквенно. Есть возможность задавать количество выводимых за один раз символов и скорость вывода.

Вот код:

<script>

Var source,dest,len,now=0,delay=100,letters=1;

Function show_text().

{

Source = document.getElementById("pageTextSource");

Dest = document.getElementById("pageText");

Len = source.innerHTML.length;

Show();

}

Function show().

{

Dest.innerHTML += source.innerHTML.substr(now,letters);

Now+=letters;

If(now<len).

SetTimeout("show()",delay);

}

</script>

<body onload="show_text();">

<p style="display:none" id="раgеТехtSоurсе">Текст для вывода...

<p id="pageText"></p>

</body>