Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обновление (https://javascript.ru/forum/misc/1111-obnovlenie.html)

SerferJS 28.03.2008 00:45

Как раз таки правильно поняли. Мне не надо, чтобы страница всё время обновлялась. Мне надо только 1 раз и всё. Только загрузка страницы происходить может в разные промежутки времени: хоть раз в день, хоть каждые 5 секунд.
Вопросы с предыдущего моего сообщения остаются открытыми.
З.Ы. А вообще большое спасибо всем кто помогает разобраться с этим. Было бы проще, если бы я знал JS, но к сожелению сейчас совсем нет времени на его изучение.

tenshi 28.03.2008 10:20

зачем тебе нужно это обновление?

SerferJS 28.03.2008 11:09

Что бы скрипт на пхп выполнялся заново, если попасть на страницу во второй раз. Чтобы все переменные обнулялись.

Dmitry A. Soshnikov 28.03.2008 12:51

SerferJS,

Цитата:

Сообщение от SerferJS
Как раз таки правильно поняли.

нет
Цитата:

Сообщение от SerferJS
Мне не надо, чтобы страница всё время обновлялась. Мне надо только 1 раз и всё. Только загрузка страницы происходить может в разные промежутки времени: хоть раз в день, хоть каждые 5 секунд.

посмотрите предыдущий пост

Dmitry A. Soshnikov 28.03.2008 12:56

SerferJS, а вообще, старайтесь четче формулировать вопросы, потому что вот это:

Цитата:

Сообщение от SerferJS
Что бы скрипт на пхп выполнялся заново, если попасть на страницу во второй раз. Чтобы все переменные обнулялись.

тоже, не пойми что, может значить. Что значит "если попасть на страницу во второй раз, скрипт должен выполняться второй раз"? При первом разе куда-то, сам по себе, записывается признак, что при втором разе не надо скрипт выполнять? =) "Чтобы все переменные обнулялись" - куда они записываются и когда, чтобы потом обнуляться?

SerferJS 28.03.2008 14:12

ds [.code], постараюсь сформулировать попонятнее. В общем так.
Необходимо при КАЖДОЙ загрузке страницы сделать так, чтобы она обновлялась ОДИН раз.
Дело в том, что на странице есть сложный php код, который сохраняет несколько переменный в глобальных массивах, которые нельзя удалять. При выполнении скрипта, после отправки формы на странице, пользователь получает таблицу с результатами на этой же странице. Но даже если перенаправить его на другую страницу, а потом опять на исходную, то глобальные переменные остаются и скрипт не выполняется как надо. Для того чтобы он правильно функционировал, необходимо обновить страницу. Тогда внутри скрипта произойдёт необходимая генерация и выполнение функций, всё переменные обновятся.
Таким образом всё, что мне необходимо это, чтобы вы мне ответили на уже заданные вопросы:
А как сделать так, чтобы cookie удалялись почти сразу после обновления? Что изменить в коде? Заменить expiredays? Скажите как правильно будет. Допустим надо сделать так, чтобы обновление страницы происходило почти сразу после её открытия. Думаю хватит 1 секунды. А потом, если через 10 секунд или 30 секунд я попадал на эту страницу, она опять обнавлялась 1 раз.
Эти вопросы относятся к уже приведённому здесь коду. Помогите пожалуйста.

Dmitry A. Soshnikov 28.03.2008 18:58

SerferJS, упс, пардон, я, конечно же, ошибся с предыдущим кодом =) - там будет постоянно обновляться. Да, надо поставить куки. Алгоритм, примерно, такой: в onload проверяете, если нет куки, то ставим куку и рефрешим, если же кука есть - удаляем (процедура аналогична установки куки, за исключением того, что надо задать просроченный период хранения (expires), например - expires=Thu, 01-Jan-1970 00:00:01 GMT) и не рефрешим.

<body
  onload="
    if (кукаЕсть) {
      удаляемКуку();
      return true;
    }
    ставимКуку();
    делаемРелоад();
  "
>


P.S.: по поводу Вашего "сложного php-кода", я думаю, Вам стоит подумать о переорганизации логики скрипта, а не о уловках типа перезагрузки страницы.

SerferJS 29.03.2008 00:36

ds [.code], если можно, переделай предыдущий код с учётом твоих замечаний, а то сейчас совсем нет времени. Да и я могу напутать что-нить. Потому что в JS я совсем слаб. Ну а если нет, то я сам как-нить попозже разберусь, может быть.
З.Ы. С PHP кодом там пока всё хорошо. Просто очень сложная функциональность и много средств защиты.

SerferJS 02.04.2008 11:27

Что-то не получается у меня.
Помогите вот это:

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1)
c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end)) ;
}
}
return "";
}

if (getCookie("somename")!="upd") setTimeout(function() {
setCookie("somename","upd",1);
top.location.reload();
}, 5000);

совместить с этим:

<body
onload="
if (кукаЕсть) {
удаляемКуку();
return true;
}
ставимКуку();
делаемРелоад();
"
>

Переделайте пожалуйста.

tenshi 02.04.2008 11:41

используй тэги [ js ] [ /js ]


Часовой пояс GMT +3, время: 16:07.