Почему я бросил вести этот сайт! Потому, что система ведет себя по-хамски по отношению к посетителям сайта, навязывая последним бесконечное количество баннеров-заглушек контента, особенно пришедшим с мобильных устройств!
Описание скриптов, используемых на сайте
DownLoad_Free

Описание скриптов, используемых на сайте - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



  • Страница 1 из 1
  • 1
Описание скриптов, используемых на сайте
Дата: Понедельник, 06.04.2009, 12:21 | Сообщение # 1
Группа: Администраторы
Сообщений: 1530
Параметры строки (GET) в Javascript
Практически на каждом сайте можно видеть ссылки, содержащие в себе параметры после знака "?", например, http://some.site.com/?id=1. Обычно обработкой таких параметров занимается серверный скрипт, но иногда возникает необходимость узнать эти параметры внутри JavaScript. О том, как это сделать, и пойдёт рассказ сегодня.

Что представляют из себя, так называемые, GET-параметры? На самом деле - это просто строка адреса, но принято, что если в URL-е встречается символ "?", то все символы после него являются параметрами. Трактовка параметров - стандартна: сначала идёт название переменной, потом символ "=", потом значение переменной, переменные разделяются символом "&". Узнать текущий адрес в JavaScript можно прочитав значение window.location. Парсить строку после "?" придётся в два прохода: сначала разбить на группы "переменная=значение", а потом уже разбить на составные части.

Разбиение строки параметров облегчается тем, что в JavaScript имеется специальная строковая функция - split(), результатом которой будет массив строк. Для того, чтобы её использовать, сначала необходимо создать обьект String, так как данная функция является методом этого обьекта. Делается это просто:

someVar = new String("some text");

Затем делим строку на подстроки:

someArray = someVar.split("x");

Где "x" - символ деления строки на подстроки. Для того, чтобы найти в строке какой-либо символ, необходимо воспользоваться ещё одной строковой функцией - indexOf():

someVar.indexOf('?');

Ввод в теорию закончен. Приступим к практике. Я решил, что все GET-переменные стоит хранить в двух отдельных глобальных массивах: один хранит названия, другой - значения. К сожалению JavaScript не поддерживает ассоциативные массивы, поэтому воспользуемся указанным мною способом. Также необходимо сохранить количество GET-переменных. Конечно, всегда можно вызвать функцию подсчёта размера массива, но стилистически мой метод лучше. И так, глобальные переменные и массивы:

var _GET_Keys; // Пока что пустой массив
var _GET_Values;
var _GET_Count = 0; // элементов пока нет
var _GET_Default = ''

Значение переменной _GET_Default будет обьяснено позже. Далее создам функцию get_parseGET(), которая будет парсить URL и создавать массивы с переменными. В самом начале функция создаёт обьект String и проверяет в нём наличие символа "?":

get = new String(window.location);
x = get.indexOf('?');
if(x!=-1)
{

// здесь будет основной код

}
else ;

Далее вырезаем часть строки, находящуюся после найденного символа:

l = get.length;
get = get.substr(x+1, l-x);

Теперь делим строку на группы "переменная=значение", вычисляем общее количество переменных и подготавливаемся к создаиню необходимых массивов:

l = get.split('&');
x = 0;
_GET_Count = l.length;
_GET_Keys = new Array(_GET_Count);
_GET_Values = new Array(_GET_Count);

И в заключение разделяем полученные группы на два массива с именами переменных и их значениями:

for(i in l)
{
get = l[i].split('=');
_GET_Keys[x] = get[0];
_GET_Values[x] = get[1];
x++;
}

В данном примере используется конструкция for .. in, перебирающая все элементы массива. Синтаксис данной конструкции:

for ( key in array )
{
// Ваши действия
}

где key - название ключа, которое будет выбрано из массива array. В теле цикла к текущему элементу можно бдует обратиться array[key].

Вторая функция из библиотеки - get_fetchVar(key), позволяет узнать значение заданной GET-переменной. Работает простым перебором массива _GET_Keys. Если ключ не найден, то возвращает значение _GET_Default, которое упоминалось выше. Хочу заметить, что значение _GET_Default вовсе НЕ обязательно менять в самой библиотеке - при необходимости, это можно сделать в Вашем HTML-коде:

<script language="JavaScript">_GET_Default="tra la la";</script>

В самом конце скрипта следует вызов get_parseGET(); и на этом библиотека заканчивается.

 
Дата: Воскресенье, 07.06.2009, 04:37 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 203
http://necropolis.newmail.ru/Misk/colors.html
номера html цветов
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright kachay.ucoz.org © 2008-2024Хостинг от uCoz
^ Наверх ^
Пригодилось!