сохранение контекста при перезагрузке страницы

Старый mweb

Модератор: [mweb team]

сохранение контекста при перезагрузке страницы

Сообщение Kat Вт сен 11, 2007 10:23

народ, как сохранить значение переменной при перезагрузке страницы(допустим счетчик должен инкрементироваться каждый раз как происходит перезагрузка?) делать нужно средствами js.
Аватара пользователя
Kat
Курильщик
 
Сообщения: 309
Зарегистрирован: Чт май 18, 2006 16:49

Сообщение Padonak Вт сен 11, 2007 14:21

не знаю точно как но первое что пришло в голову это скриптом скомандовать при выгрузке документа передать нужное значение через адресную строку. если уйдешь на другую страницу то ничего не происходит а если на эту же самую вернешься то скрипт (другая как ты понимаешь ф-ция) забирает данное значение при его наличии из адресной строки. если значения нет то скрипт считает что ты зашла первый раз... что-то в этом роде
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Kat Вт сен 11, 2007 14:54

спасибо) это второй способ как оказалось)
вот первый-через куки)

Код: Выделить всё
<script type="javascript">
//listener
function addHandler(object, event, handler){
   event = (event) ? event : ((window.event) ? window.event : null);
   if(event){
        if (typeof object.addEventListener != 'undefined')
          object.addEventListener(event, handler, false);
      else
          object.attachEvent('on' + event, handler);
   }
}
// set cookie
function setCookie(name, value) {
      var valueEscaped = escape(value);
      var expiresDate = new Date();
      expiresDate.setTime(expiresDate.getTime() + 365 * 24 * 60 * 60 * 1000); // time=1 year
      var expires = expiresDate.toGMTString();
      var newCookie = name + "=" + valueEscaped + "; path=/; expires=" + expires;
      if (valueEscaped.length <= 4000) document.cookie = newCookie + ";";
}

// get cookie
function getCookie(name) {
      var prefix = name + "=";
      var cookieStartIndex = document.cookie.indexOf(prefix);
      if (cookieStartIndex == -1) return null;
      var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
      if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
      return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

var fishes = new Array('a','b','c','d','e');
var i,counter,tmp;
tmp = getCookie('counter');
if(!tmp){
   counter = 0;
   setCookie('counter',counter);
} else{
   counter = tmp;
}
function changeFish() {
   var el;
   el = document.getElementById('fish');
   el.innerHTML = fishes[counter];
   counter++;
   if(counter == 5){counter = 0};
   setCookie('counter',counter);
}
addHandler(window,'load',changeFish);
</script>
<body>
<div id="fish" style="float:left; width:50px; text-align:center; margin:5px 0px; background:#f00; color:#fff;"></div>
</body>
Аватара пользователя
Kat
Курильщик
 
Сообщения: 309
Зарегистрирован: Чт май 18, 2006 16:49

Сообщение Padonak Вт сен 11, 2007 20:49

2Kat: а я куки ваще не разумею... ни разу не делал ничего с ними -08- вот что у меня получилось линк
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron