Главная » 2010 » Апрель » 22 » редирект + cookie (Javascript)
22.04.2010, 18:28

редирект + cookie



При первоначально посещении страницы, вам предстоит выбрать куда вы будете перемещены при следующем заходе на нее.

В head добавляем это:

Quote
<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var favorite = GetCookie('animal');

if (favorite != null) {
switch (favorite) {
case 'cat' : url = 'http://infoscript.ru/news'; // смените адреса
break;
case 'dog' : url = 'http://infoscript.ru/forum';
break;
case 'gerbil' : url = 'http://infoscript.ru/gb';
break;
case 'gopher' : url = 'http://infoscript.ru';
break;
}
window.location.href = url;
}
// End -->
</script>

где красным выделены ссылки для чекбоксов, которые вы должны заменить на свои.

В body - это:

Quote

<form>
<table><tr><td>
Куда делать переадресацию при следующем посещенни этой страницы?:<br>
<input type=checkbox name="cat" onClick="SetCookie('animal', this.name, exp);">Скрипты<br>
<input type=checkbox name="dog" onClick="SetCookie('animal', this.name, exp);">Статьи<br>
<input type=checkbox name="gerbil" onClick="SetCookie('animal', this.name, exp);">Графика<br>
<input type=checkbox name="gopher" onClick="SetCookie('animal', this.name, exp);">infoscript.ru<br>
</td></tr>
</table>
</form>


Синее
заменяем на свое.
Материал взят с сайта infoscript.ru
Внимание! Копирование данного материала запрещено без указания ссылки на сайт Infoscript.ru
Источник/Автор: Неизвестен
Категория: JavaScript's | Просмотров: 2743 | Добавил: antisept | Рейтинг: 4.0/1 |
Теги: cookies, редирект
Всего комментариев: 1
0  
1 andreysolo   (15.07.2011 14:37) [Материал]
Аватар пользователя
Добрый день.
А как реализовать не checkbox, а список в select.
Например, для выбора города.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]