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

Андрей Параничев 25.03.2008 22:51

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);

SerferJS 26.03.2008 14:35

Что-то не обновляет страницу. Там где 5000 я понимаю время через которое должно произойти обновление. Так я ставлю 5 секунд, ничего не происходит.

Андрей Параничев 26.03.2008 15:51

SerferJS,
Странно, у меня работает, щас проверю в других браузерах. 5000 - это время в миллисекундах, т.е 5 с = 5000 мс.

SerferJS 26.03.2008 23:43

И при 5000 тоже не работает. У меня Opera 9.0. Я скрипт вставляю и в самое начало страницы, и позже, и после php кода, всё равно не работает.

SerferJS 27.03.2008 09:04

Вчера вставил скрипт в начало страницы. Поставил время 3000. В результате при первой загрузке страницы она вроде как обновилась, я даже толком заметить не успел. Но потом сколько не загужаешь, ничего не происходит. Причём проверил в Opere и IE. Везде одинаково. И как тогда сделать, чтобы после очередного открытия страницы она всё же обнавилась?

tenshi 27.03.2008 10:22

rfc2616

SerferJS 27.03.2008 12:44

Цитата:

Сообщение от tenshi
rfc2616

Это что?

Андрей Параничев 27.03.2008 13:30

SerferJS,
У вас cookie, по которой проверяется обновлять/не обновлять ставится на день. Очистите куки и проверьте работоспособность снова.

SerferJS 27.03.2008 17:26

А как сделать так, чтобы они удалялись почти сразу после обновления? Что изменить в коде? Заменить expiredays? Скажите как правильно будет. Допустим надо сделать так, чтобы обновление страницы происходило почти сразу после её открытия. Думаю хватит 1 секунды. А потом, если через 10 секунд или 30 секунд я попадал на эту страницу и она опять обнавлялась 1 раз.

Dmitry A. Soshnikov 27.03.2008 18:09

SerferJS, вообще не надо ставить куки (просто Вас не так поняли, подумали, что надо вообще только один раз перезагрузить). Повесьте на событие onload элемента body функцию рефреша по таймауту.

<body onload="window.setTimeout(function() {top.location.reload(); return true;}, 5000)">


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