| 
 Обновление Подскажите как сделать так, что бы страница автоматически обновлялась через определённый промежуток времени, но только 1 раз. | 
| 
 SerferJS, погуглите: - top.location.href (href не обязательно), например top.location = 'javascript.ru', также посмотрите метод reload() для этого объекта - window.setTimeout(функцияДляВыполнения, интервалВМиллисекундах) | 
| 
 Записывай факт обновления в куки, а дальше как написано выше | 
| 
 Если вас не затруднит. Напишите это готовым кодом. Дело в том, что я не очень знаком с JS, в основном php. | 
| 
 так, на скорую руку: 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); | 
| 
 FTDeBUGgeR, Цитата: 
 | 
| 
 Спасибо, буду знать | 
| 
 Огромное спасибо за код. А насчёт испарвлений: добавления пустой строки или использования метода reload() это как? Пустую строку: top.location = '' + top.location; как я понял просто добавить в код, а вот с reload() я без понятия. Исправте пожалуйста. | 
| 
 top.location.reload(); | 
| 
 Код выглядит так: 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 я совсем не силён. | 
| 
 
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);
 | 
| 
 Что-то не обновляет страницу. Там где 5000 я понимаю время через которое должно произойти обновление. Так я ставлю 5 секунд, ничего не происходит. | 
| 
 SerferJS, Странно, у меня работает, щас проверю в других браузерах. 5000 - это время в миллисекундах, т.е 5 с = 5000 мс. | 
| 
 И при 5000 тоже не работает. У меня Opera 9.0. Я скрипт вставляю и в самое начало страницы, и позже, и после php кода, всё равно не работает. | 
| 
 Вчера вставил скрипт в начало страницы. Поставил время 3000. В результате при первой загрузке страницы она вроде как обновилась, я даже толком заметить не успел. Но потом сколько не загужаешь, ничего не происходит. Причём проверил в Opere и IE. Везде одинаково. И как тогда сделать, чтобы после очередного открытия страницы она всё же обнавилась? | 
| 
 rfc2616 | 
| 
 Цитата: 
 | 
| 
 SerferJS, У вас cookie, по которой проверяется обновлять/не обновлять ставится на день. Очистите куки и проверьте работоспособность снова. | 
| 
 А как сделать так, чтобы они удалялись почти сразу после обновления? Что изменить в коде? Заменить expiredays? Скажите как правильно будет. Допустим надо сделать так, чтобы обновление страницы происходило почти сразу после её открытия. Думаю хватит 1 секунды. А потом, если через 10 секунд или 30 секунд я попадал на эту страницу и она опять обнавлялась 1 раз. | 
| 
 SerferJS, вообще не надо ставить куки (просто Вас не так поняли, подумали, что надо вообще только один раз перезагрузить). Повесьте на событие onload элемента body функцию рефреша по таймауту. 
<body onload="window.setTimeout(function() {top.location.reload(); return true;}, 5000)">
 | 
| 
 Как раз таки правильно поняли. Мне не надо, чтобы страница всё время обновлялась. Мне надо только 1 раз и всё. Только загрузка страницы происходить может в разные промежутки времени: хоть раз в день, хоть каждые 5 секунд.  Вопросы с предыдущего моего сообщения остаются открытыми. З.Ы. А вообще большое спасибо всем кто помогает разобраться с этим. Было бы проще, если бы я знал JS, но к сожелению сейчас совсем нет времени на его изучение. | 
| 
 зачем тебе нужно это обновление? | 
| 
 Что бы скрипт на пхп выполнялся заново, если попасть на страницу во второй раз. Чтобы все переменные обнулялись. | 
| 
 SerferJS, Цитата: 
 Цитата: 
 | 
| 
 SerferJS, а вообще, старайтесь четче формулировать вопросы, потому что вот это: Цитата: 
 | 
| 
 ds [.code], постараюсь сформулировать попонятнее. В общем так. Необходимо при КАЖДОЙ загрузке страницы сделать так, чтобы она обновлялась ОДИН раз. Дело в том, что на странице есть сложный php код, который сохраняет несколько переменный в глобальных массивах, которые нельзя удалять. При выполнении скрипта, после отправки формы на странице, пользователь получает таблицу с результатами на этой же странице. Но даже если перенаправить его на другую страницу, а потом опять на исходную, то глобальные переменные остаются и скрипт не выполняется как надо. Для того чтобы он правильно функционировал, необходимо обновить страницу. Тогда внутри скрипта произойдёт необходимая генерация и выполнение функций, всё переменные обновятся. Таким образом всё, что мне необходимо это, чтобы вы мне ответили на уже заданные вопросы: А как сделать так, чтобы cookie удалялись почти сразу после обновления? Что изменить в коде? Заменить expiredays? Скажите как правильно будет. Допустим надо сделать так, чтобы обновление страницы происходило почти сразу после её открытия. Думаю хватит 1 секунды. А потом, если через 10 секунд или 30 секунд я попадал на эту страницу, она опять обнавлялась 1 раз. Эти вопросы относятся к уже приведённому здесь коду. Помогите пожалуйста. | 
| 
 SerferJS, упс, пардон, я, конечно же, ошибся с предыдущим кодом =) - там будет постоянно обновляться. Да, надо поставить куки. Алгоритм, примерно, такой: в onload проверяете, если нет куки, то ставим куку и рефрешим, если же кука есть - удаляем (процедура аналогична установки куки, за исключением того, что надо задать просроченный период хранения (expires), например - expires=Thu, 01-Jan-1970 00:00:01 GMT) и не рефрешим. 
<body
  onload="
    if (кукаЕсть) {
      удаляемКуку();
      return true;
    }
    ставимКуку();
    делаемРелоад();
  "
>
P.S.: по поводу Вашего "сложного php-кода", я думаю, Вам стоит подумать о переорганизации логики скрипта, а не о уловках типа перезагрузки страницы. | 
| 
 ds [.code], если можно, переделай предыдущий код с учётом твоих замечаний, а то сейчас совсем нет времени. Да и я могу напутать что-нить. Потому что в JS я совсем слаб. Ну а если нет, то я сам как-нить попозже разберусь, может быть. З.Ы. С PHP кодом там пока всё хорошо. Просто очень сложная функциональность и много средств защиты. | 
| 
 Что-то не получается у меня. Помогите вот это: 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; } ставимКуку(); делаемРелоад(); " > Переделайте пожалуйста. | 
| 
 используй тэги [ js ] [ /js ] | 
| 
 SerferJS, Цитата: 
 Попробуйте найти аналогию и действительно поразбираться, потому что писать полностью за Вас никто не будет, если у Вас даже желания нет понять как это работает. 1. if (getCookie("somename")) => if (кукаЕсть); 2. удаляемКуку(); => делаем setCookie(...), expiredays устанавливаем -1; 3. ставимКуку(); => делаем setCookie(...); 4. делаемРелоад(); => top.location.reload(); P.S.: форум - это не то, что, человек пришел и говорит: "ребятки, напишите-ка мне скрипт, да побыстрей, пожалуйста". Как минимум у человека должны быть свои наработки по интересующему вопросу. И конкретно вопрос - где именно и что у него не получается. А на форуме уже подскажут в каком направлении надо двигаться, чтобы решить задачу. P.S.[2]: это, кстати, и к отвечающим относится - какой смысл выкладывать полностью "от и до" работающий код по первому же запросу "ребята, дайте код". Тем самым вы не поможете человеку, особенно, если при этом у него нет желания самому разобраться, что происходит в этом коде. Я понимаю, что большинство интересует комбинация Ctrl+C (на форуме в готовом коде), Ctrl+V (у себя в редакторе), но это не программирование. P.S.[3]: однако, я вовсе не против выкладываний полных кодов (и сам часто выкладываю) - иногда это интересно, особенно, если задача интересная. Тут просто важен подход тех, кто просит помочь. | 
| 
 Что-то не получается у меня. Помогите вот это: 
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; } ставимКуку(); делаемРелоад(); " > Помогите пожалуйста | 
| 
 Я пробовал это соедениять. С учётом условий. Но я вообще не знаю JavaScript! И посему совсем слабо представляю как это сделать. И только поэтому прошу вас сделать это за меня. Помогите пожалуйста. P.S.ds [.code], то что вы написали 4 пункта на которые надо опираться это очень хорошо. Если бы я знал JS, то с радостью разобрался бы. | 
| 
 Помогите пожалуйста... | 
| Часовой пояс GMT +3, время: 14:06. |