Как перезагрузить страницу каждые 5 секунд?


183

Я конвертирую один макет в HTML; как только я делаю изменения в коде / html / css, каждый раз мне приходится нажимать F5. Есть ли какое-нибудь простое решение javascript / jQuery для этого? Т.е. после добавления скрипта перезагрузите всю страницу каждые 5 секунд (или какое-то другое определенное время).

Ответы:


382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

Если это должно быть в скрипте, используйте setTimeout как:

setTimeout(function(){
   window.location.reload(1);
}, 5000);

4
Я думаю, что это, вероятно, лучший способ сделать это, чем в JavaScript.
Богатый

1
Если в данном случае потребовалось обновить страницу для посетителей, я мог бы согласиться, но для целей разработки преимуществом является наличие блока кода, который можно перетаскивать на страницу без необходимости каждый раз обновлять URI. В зависимости от JS не проблема, когда разработчик - это целевая аудитория.
Квентин,

4
location.reload (1) будет повторять POST, если текущая страница является результатом POST. Это может быть нежелательно, если вы хотите повторить метаобновление в Javascript.
Рувим

2
Перезагрузка текущей страницы не требует от вас указания страницы, просто:<meta http-equiv="refresh" content="5">
ashleedawg

146

Чтобы перезагрузить ту же страницу, вам не нужен второй аргумент. Вы можете просто использовать:

 <meta http-equiv="refresh" content="30" />

Это вызывает перезагрузку каждые 30 секунд.


3
Не рекомендуется при использовании для перенаправления . Это не осуждается. (И это очень удобно, когда вы хотите обновить страницу и ленитесь изучать ajax :)
DinoCoderSaurus

Это не работает для меня. Пробовал добавлять эту строку в этот кодекс безрезультатно. codepen.io/css-support/pen/bspdK
lolololol ol

1
@lololololol Вы должны добавить его в настройке «Материал для <head>» в области настроек пера HTML. Это не сработает, если вы поместите его в настоящий скрипт.
Брет

23

Для автоматической перезагрузки и очистки кеша через 3 секунды вы можете легко это сделать с помощью функции javascript setInterval. Вот простой код

$(document).ready(function() {
  setInterval(function() {
    cache_clear()
  }, 3000);
});

function cache_clear() {
  window.location.reload(true);
  // window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>

и вы также можете использовать мета для этого

<meta http-equiv="Refresh" content="5">

Обновление страницы <скрипт> работает, но можете ли вы объяснить, как он очищает кеш? или это просто обновление кеша .. пожалуйста, объясните.
Серебро

stackoverflow.com/questions/5721704/… если вы хотите наклониться больше, пожалуйста, погуглите это
Shafiqul Islam


10

Для IE есть инструмент автоматического обновления при изменении. Он называется ReloadIt и доступен по адресу http://reloadit.codeplex.com . Свободно.

Вы выбираете URL-адрес, который хотите автоматически перезагрузить, и указываете один или несколько путей к каталогам для отслеживания изменений. Нажмите F12, чтобы начать мониторинг.

введите описание изображения здесь

После того, как вы установите его, сверните его. Затем отредактируйте ваши файлы содержимого. Когда вы сохраняете любое изменение, страница перезагружается. как это:

введите описание изображения здесь

Просто. легко.


2
Хороший инструмент для IE, и спасибо за анимацию. Как я могу создать то же самое?
Васим Шейх

@WasimShaikh - запишите свой экран в анимированный GIF с помощью ScreenToGIF .
ashleedawg

5

Ответ, предоставленный @jAndy, должен работать, но в Firefox вы можете столкнуться с проблемой, window.location.reload (1) ; может не сработать, это мой личный опыт.

Поэтому я хотел бы предложить:

setTimeout(function() { window.location=window.location;},5000);

Это проверено и работает отлично.


3

Приличной альтернативой, если вы используете Firefox, является плагин XRefresh . Он будет перезагружать вашу страницу каждый раз, когда обнаружит, что файл был изменен. Таким образом, вместо обновления каждые 5 секунд, он будет обновляться, когда вы нажимаете сохранить в вашем HTML-редакторе.



2

Если вы разрабатываете и тестируете в Firefox, есть плагин с названием « ReloadEvery », который позволяет перезагрузить страницу через указанные интервалы.


1

Это будет работать на 5 сек.

5000 миллисекунд = 5 секунд

Используйте это с целью _selfили с тем, что вы хотите, и с любой страницей, которую вы хотите, включая себя:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

Или это с автоматическим self и без целевого кода с той страницей, которую вы хотите, включая себя:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

Или это, если это одна и та же страница для перезагрузки только самого себя и целевая буксирная буква, когда вы хотите:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

Все 3 делают похожие вещи, просто по-разному.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.