Her 5 saniyede bir sayfa nasıl yeniden yüklenir?


183

Html için bir düzen dönüştürüyorum; Ben kod / html / css değişiklikleri yapmak kez, her zaman F5 vurmak zorunda. Bunun için basit bir javascript / jQuery çözümü var mı? Komut dosyasını ekledikten sonra, tüm sayfayı her 5 saniyede bir (veya başka bir belirli saatte) yeniden yükleyin.

Yanıtlar:


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

Komut dosyasında olması gerekiyorsa setTimeout'u kullanın :

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

4
Bu muhtemelen bunu javascript'ten daha iyi bir yol olduğunu düşünüyorum.
Zengin

1
Kullanım durumu sayfanın ziyaretçiler için yenilenmesi gerekiyorsa, o zaman kabul edebilirim, ancak geliştirme amaçlı olarak, her seferinde bir URI'yi güncellemek zorunda kalmadan sayfaya bırakabileceğiniz bir kod bloğuna sahip olmak bir avantajdır. Geliştirici hedef kitlenin tamamı JS olduğunda, sorun olmaz.
Quentin

4
geçerli sayfa bir POST sonucuysa location.reload (1) bir POST işlemini tekrarlar. Javascript'te meta yenilemeyi çoğaltmak istiyorsanız bu istenmeyebilir.
Reuben

2
Geçerli sayfayı yeniden yüklemek için sayfayı belirtmeniz gerekmez, Sadece:<meta http-equiv="refresh" content="5">
ashleedawg

146

Aynı sayfayı yeniden yüklemek için 2. bağımsız değişkene ihtiyacınız yoktur. Sadece şunu kullanabilirsiniz:

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

Bu, her 30 saniyede bir yeniden yüklemeyi tetikler.


3
Bu edilir yönlendirme için kullanıldığında cesaretini . Onaylanmadı. (Ve bir sayfayı yenilemek istediğinizde ve ajax öğrenmek için çok tembel olduğunuzda çok kullanışlıdır :)
DinoCoderSaurus

Bu benim için çalışmıyor. Bu kod boşluğuna bu satırı eklemeyi denedim. codepen.io/css-support/pen/bspdK
lolololol ol

1
@lololololol HTML'nin Kalem Ayarları alanındaki "<head> için şeyler" ayarına eklemeniz gerekir. Gerçek betiğe koyarsanız çalışmaz.
Bret

23

Otomatik yeniden yükleme ve 3 saniye sonra önbelleği temizleme için javascript setInterval işlevini kullanarak kolayca yapabilirsiniz. İşte basit kod

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

ve bunun için meta da kullanabilirsiniz

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

Sayfa yenileme <script> çalışıyor ancak önbelleği nasıl temizlediğini açıklayabilir misiniz ?? ya da jus önbellek ferahlatıcı .. pls açıklamak.
Gümüş

stackoverflow.com/questions/5721704/… , daha fazla eğilmek istiyorsanız lütfen google
Shafiqul Islam


10

IE için otomatik bir yenileme yenileme aracı var. Buna ReloadIt adı verilir ve http://reloadit.codeplex.com adresinde bulunabilir . Bedava.

Otomatik olarak yeniden yüklemek istediğiniz bir URL seçersiniz ve değişiklikleri izlemek için bir veya daha fazla dizin yolu belirtirsiniz. İzlemeye başlamak için F12 tuşuna basın.

resim açıklamasını buraya girin

Ayarladıktan sonra simge durumuna küçültün. Ardından içerik dosyalarınızı düzenleyin. Herhangi bir değişikliği kaydettiğinizde sayfa yeniden yüklenir. bunun gibi:

resim açıklamasını buraya girin

Basit. kolay.


2
IE için güzel bir araç ve animasyonlu şey için teşekkürler. Aynı şeyi nasıl oluşturabilirim?
Wasim Shaikh

@WasimShaikh - ScreenToGIF kullanarak ekranınızı hareketli bir GIF dosyasına kaydedin .
ashleedawg

5

@JAndy tarafından verilen cevap çalışmalıdır, ancak Firefox'ta problemle karşılaşabilirsiniz, window.location.reload (1) ; işe yaramayabilir, bu benim kişisel deneyimim.

Bu yüzden önermek istiyorum:

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

Bu test edilmiş ve iyi çalışıyor.


3

Firefox kullanıyorsanız iyi bir alternatif XRefresh eklentisidir . Dosyanın her değiştirilişini algıladığında sayfanızı yeniden yükler. Bu yüzden, sadece 5 saniyede bir yenilemek yerine, HTML düzenleyicinizde kaydet düğmesine bastığınızda yenilenir.



2

Firefox'ta geliştirip test ediyorsanız , sayfayı belirli aralıklarla yeniden yüklemenizi sağlayan " ReloadEvery " adlı bir eklenti vardır .


1

Bu işlem 5 sn.

5000 milisaniye = 5 saniye

Bunu hedefle _selfveya istediğinizi ve kendisi de dahil olmak üzere istediğiniz sayfayı kullanarak kullanın:

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

Ya da bu otomatik kendiliğinden ve kendiniz de dahil olmak üzere istediğiniz sayfayla hedef kod içermez:

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

Ya da sadece kendini yeniden yüklemek ve aynı zamanda hedeflenen çekici şapkasını istediğiniz gibi yüklemekse:

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

Her üçü de benzer şeyler yapar, sadece farklı şekillerde.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.