Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2008, 13:17
Интересующийся
Отправить личное сообщение для SerferJS Посмотреть профиль Найти все сообщения от SerferJS
 
Регистрация: 23.03.2008
Сообщений: 17

Обновление
Подскажите как сделать так, что бы страница автоматически обновлялась через определённый промежуток времени, но только 1 раз.
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2008, 14:08
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

SerferJS, погуглите:

- top.location.href (href не обязательно), например top.location = 'javascript.ru', также посмотрите метод reload() для этого объекта

- window.setTimeout(функцияДляВыполнения, интервалВМиллисекундах)
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2008, 16:06
Новичок на форуме
Отправить личное сообщение для FTDeBUGgeR Посмотреть профиль Найти все сообщения от FTDeBUGgeR
 
Регистрация: 08.03.2008
Сообщений: 9

Записывай факт обновления в куки, а дальше как написано выше
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2008, 09:02
Интересующийся
Отправить личное сообщение для SerferJS Посмотреть профиль Найти все сообщения от SerferJS
 
Регистрация: 23.03.2008
Сообщений: 17

Если вас не затруднит. Напишите это готовым кодом. Дело в том, что я не очень знаком с JS, в основном php.
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2008, 17:58
Новичок на форуме
Отправить личное сообщение для FTDeBUGgeR Посмотреть профиль Найти все сообщения от FTDeBUGgeR
 
Регистрация: 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);
Ответить с цитированием
  #6 (permalink)  
Старый 24.03.2008, 20:21
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

FTDeBUGgeR,
Сообщение от FTDeBUGgeR
document.location.href=document.location.href
IE не обновит так локейшн, считая прежним. Для фикса можно добавить пустую строку: top.location = '' + top.location; или использовать метод reload(), т.к. предыдущий метод будет бессилен, если локейшн содержал якорь.
Ответить с цитированием
  #7 (permalink)  
Старый 24.03.2008, 20:33
Новичок на форуме
Отправить личное сообщение для FTDeBUGgeR Посмотреть профиль Найти все сообщения от FTDeBUGgeR
 
Регистрация: 08.03.2008
Сообщений: 9

Спасибо, буду знать
Ответить с цитированием
  #8 (permalink)  
Старый 24.03.2008, 23:14
Интересующийся
Отправить личное сообщение для SerferJS Посмотреть профиль Найти все сообщения от SerferJS
 
Регистрация: 23.03.2008
Сообщений: 17

Огромное спасибо за код. А насчёт испарвлений: добавления пустой строки или использования метода reload() это как? Пустую строку: top.location = '' + top.location; как я понял просто добавить в код, а вот с reload() я без понятия. Исправте пожалуйста.
Ответить с цитированием
  #9 (permalink)  
Старый 25.03.2008, 11:38
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

top.location.reload();
Ответить с цитированием
  #10 (permalink)  
Старый 25.03.2008, 22:34
Интересующийся
Отправить личное сообщение для SerferJS Посмотреть профиль Найти все сообщения от SerferJS
 
Регистрация: 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 я совсем не силён.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянное обновление страницы. Как? ratt Общие вопросы Javascript 9 13.10.2010 02:55
Динамическое обновление списка select (продолжение мытарств) macam Элементы интерфейса 2 25.06.2008 16:04
Динамическое обновление списка Select Fender Events/DOM/Window 3 12.06.2008 21:30
Цикличное обновление страницы Roman_kstu Общие вопросы Javascript 7 29.05.2008 05:55
обновление фрейма iframe Бесякин Общие вопросы Javascript 4 29.04.2008 14:55