Bagaimana cara memuat ulang halaman setiap 5 detik?

183

Saya mengonversi satu tata letak menjadi html; setelah saya melakukan perubahan pada kode / html / css, setiap kali saya harus menekan F5. Apakah ada solusi javascript / jQuery sederhana untuk ini? Yaitu setelah saya menambahkan skrip, muat ulang seluruh halaman setiap 5 detik (atau waktu tertentu lainnya).

Wasim Shaikh
sumber

Jawaban:

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

Jika harus dalam skrip gunakan setTimeout seperti:

setTimeout(function(){
   window.location.reload(1);
}, 5000);
jandy
sumber
4
Saya pikir ini mungkin cara yang lebih baik untuk melakukannya daripada di javascript.
Kaya
1
Jika kasus penggunaannya adalah bahwa halaman tersebut diperlukan untuk me-refresh pengunjung maka saya mungkin setuju, tetapi untuk tujuan pengembangan, memiliki blok kode yang dapat Anda masukkan ke halaman tanpa harus memperbarui URI setiap kali merupakan keuntungan. Bergantung pada JS bukanlah masalah ketika pengembang adalah seluruh audiens target.
Quentin
4
location.reload (1) akan mengulangi POST jika halaman saat ini adalah hasil dari POST. Itu mungkin tidak diinginkan, jika Anda ingin meniru meta refresh di Javascript.
Ruben
2
Memuat ulang halaman saat ini tidak mengharuskan Anda untuk menentukan halaman, Cukup:<meta http-equiv="refresh" content="5">
ashleedawg
146

Untuk memuat ulang halaman yang sama Anda tidak perlu argumen ke-2. Anda bisa menggunakan:

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

Ini memicu pemuatan ulang setiap 30 detik.

Singkirkan Iculous
sumber
3
Ini tidak disarankan ketika digunakan untuk redirect . Itu tidak ditinggalkan. (Dan itu sangat berguna ketika Anda ingin me-refresh halaman dan terlalu malas untuk belajar ajax :)
DinoCoderSaurus
Ini tidak bekerja untuk saya. Mencoba menambahkan baris ini ke codepen ini tetapi tidak berhasil. codepen.io/css-support/pen/bspdK
lolololol ol
1
@ lololololol Anda harus menambahkannya di pengaturan "Stuff for <head>" di area Pengaturan Pena HTML. Tidak berfungsi jika Anda memasukkannya ke dalam skrip yang sebenarnya.
Bret
23

Untuk memuat ulang otomatis dan menghapus cache setelah 3 detik, Anda dapat melakukannya dengan mudah menggunakan fungsi setInterval javascript. Ini kode sederhana

$(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>

dan Anda juga dapat menggunakan meta untuk ini

<meta http-equiv="Refresh" content="5">
Syafiqul Islam
sumber
Penyegaran halaman <script> berfungsi tetapi bisakah Anda menjelaskan bagaimana cara membersihkan cache ?? atau hanya menyegarkan cache .. tolong jelaskan.
Perak
stackoverflow.com/questions/5721704/… , jika Anda ingin bersandar lebih maka silakan google
Shafiqul Islam
10

Ada alat refresh-on-change otomatis untuk IE. Ini disebut ReloadIt, dan tersedia di http://reloadit.codeplex.com . Gratis.

Anda memilih URL yang ingin Anda muat ulang secara otomatis, dan tentukan satu atau beberapa jalur direktori untuk memantau perubahan. Tekan F12 untuk memulai pemantauan.

masukkan deskripsi gambar di sini

Setelah Anda mengaturnya, kecilkan itu. Kemudian edit file konten Anda. Saat Anda menyimpan perubahan apa pun, halaman akan dimuat ulang. seperti ini:

masukkan deskripsi gambar di sini

Sederhana. mudah.

Cheeso
sumber
2
Alat yang bagus untuk IE, dan terima kasih untuk hal animasi. Bagaimana saya bisa membuat yang sama?
Wasim Shaikh
@WasimShaikh - Rekam layar Anda ke GIF animasi menggunakan ScreenToGIF .
ashleedawg
5

Jawaban yang diberikan oleh @jAndy seharusnya berfungsi tetapi di Firefox Anda mungkin menghadapi masalah, window.location.reload (1) ; mungkin tidak berfungsi, itu pengalaman pribadi saya.

Jadi saya ingin menyarankan:

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

Ini diuji dan berfungsi dengan baik.

NarendraSoni
sumber
3

Alternatif yang layak jika Anda menggunakan firefox adalah plugin XRefresh . Ini akan memuat ulang halaman Anda setiap kali mendeteksi file telah dimodifikasi. Jadi, bukannya hanya menyegarkan setiap 5 detik, itu hanya akan menyegarkan ketika Anda menekan simpan di editor HTML Anda.

Dal Hundal
sumber
3

Atau ada aplikasi bernama LiveReload ...

veksen
sumber
2

Jika Anda mengembangkan dan menguji di Firefox, ada plug-in yang disebut " ReloadEvery " tersedia, yang memungkinkan Anda memuat ulang halaman pada interval yang ditentukan.

Veera
sumber
1

Ini akan bekerja pada 5 detik.

5000 milidetik = 5 detik

Gunakan ini dengan target _selfatau apa pun yang Anda inginkan dan halaman apa pun yang Anda inginkan termasuk dirinya sendiri:

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

Atau ini dengan diri otomatis dan tidak ada kode target dengan halaman apa pun yang Anda inginkan, termasuk dirinya sendiri:

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

Atau ini jika itu adalah halaman yang sama untuk memuat ulang sendiri dan menargetkan derek yang Anda inginkan:

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

Ketiganya melakukan hal serupa, hanya dengan cara yang berbeda.

SeekLoad
sumber
1

function reload() {
  document.location.reload();
}

setTimeout(reload, 5000);

objek-objek
sumber