Як перезавантажувати сторінку кожні 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

Щоб перезавантажити ту саму сторінку, вам не потрібен 2-й аргумент. Ви можете просто використовувати:

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

Це запускає перезавантаження кожні 30 секунд.


3
Він не відсторонений, коли використовується для переадресації . Це не застаріло. (І це дуже зручно, коли ви хочете оновити сторінку і занадто ледачий, щоб дізнатися ajax :)
DinoCoderSaurus

Це не працює для мене. Спробував додати цей рядок до цього коду безрезультатно. codepen.io/css-support/pen/bspdK
lolololol ol

1
@lololololol Ви повинні додати його в налаштування "Stuff for <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">

Оновлення сторінки <script> працює, але чи можете ви пояснити, як очищати кеш? або це jus освіжає кеш .. pls поясніть.
Срібний

stackoverflow.com/questions/5721704/… , якщо ви хочете нахилитися більше, будь ласка, google it
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()"> 

Або це з автоматичним самозабезпеченням і без цільового коду з будь-якою сторінкою, яку ви хочете, включаючи саму:

<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.