|
23.03.2008, 13:17
|
Интересующийся
|
|
Регистрация: 23.03.2008
Сообщений: 17
|
|
Обновление
Подскажите как сделать так, что бы страница автоматически обновлялась через определённый промежуток времени, но только 1 раз.
|
|
23.03.2008, 14:08
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
SerferJS, погуглите:
- top.location.href (href не обязательно), например top.location = 'javascript.ru', также посмотрите метод reload() для этого объекта
- window.setTimeout(функцияДляВыполнения, интервалВМиллисекундах)
|
|
23.03.2008, 16:06
|
Новичок на форуме
|
|
Регистрация: 08.03.2008
Сообщений: 9
|
|
Записывай факт обновления в куки, а дальше как написано выше
|
|
24.03.2008, 09:02
|
Интересующийся
|
|
Регистрация: 23.03.2008
Сообщений: 17
|
|
Если вас не затруднит. Напишите это готовым кодом. Дело в том, что я не очень знаком с JS, в основном php.
|
|
24.03.2008, 17:58
|
Новичок на форуме
|
|
Регистрация: 08.03.2008
Сообщений: 9
|
|
так, на скорую руку:
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("document.location.href=document.locati on.href",5000);
setCookie("somename","upd",1);
|
|
24.03.2008, 20:21
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
FTDeBUGgeR,
Сообщение от FTDeBUGgeR
|
document.location.href=document.location.href
|
IE не обновит так локейшн, считая прежним. Для фикса можно добавить пустую строку: top.location = '' + top.location; или использовать метод reload(), т.к. предыдущий метод будет бессилен, если локейшн содержал якорь.
|
|
24.03.2008, 20:33
|
Новичок на форуме
|
|
Регистрация: 08.03.2008
Сообщений: 9
|
|
Спасибо, буду знать
|
|
24.03.2008, 23:14
|
Интересующийся
|
|
Регистрация: 23.03.2008
Сообщений: 17
|
|
Огромное спасибо за код. А насчёт испарвлений: добавления пустой строки или использования метода reload() это как? Пустую строку: top.location = '' + top.location; как я понял просто добавить в код, а вот с reload() я без понятия. Исправте пожалуйста.
|
|
25.03.2008, 11:38
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
|
|
25.03.2008, 22:34
|
Интересующийся
|
|
Регистрация: 23.03.2008
Сообщений: 17
|
|
Код выглядит так:
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("document.location.href=document.locati on.href",5000);
setCookie("somename","upd",1);
top.location = '' + top.location;
top.location.reload();
Загрузка страницы не происходит. начинается сразу что-то вроде постоянного обновления или просто нежелания дальше грузить страницу. Может тут заменять надо было что. Но я без понятия, а все варианты перепробовать врятли получится. Подскажите как исправить. А то в JS я совсем не силён.
|
|
|
|