Her önceden tanımlanmış saniye için bir PHP sayfasını yenileyin

6 Cevap php

Ben güncellenmiş veri en iddialı Database görmek için her 10 saniye için özel bir sayfa yük / yenilemek istiyorum.

Bunu yapmak için META kullanılan

 <META HTTP-EQUIV=Refresh CONTENT='10; URL=livedata.php'>

But still i agree we also do this by using :

  • Javascript setTimeout
    tarafından bir div yüklemek için
  • Ajax dinamik yenileme

Eğer META, AJAX dinamik canlandırıcı, Javascript setTimeout .. Ayrıca bunu yapmanın en iyi yolu paylaşmak kullanarak performans sorunlarını paylaşmak harika olurdu.

Not: yerine belirli çerçeve veya div daha bütün sayfayı yenilemeniz gerekir.

6 Cevap

Kullanıcı o tamamlanana kadar şey / Reloaded yenilenir ediliyor fark etmez çünkü AJAX kullanarak, kullanıcıya en az intruisive olduğunu.

AJAX duruma bağlı olarak META daha iyi veya daha kötü yapabilir unutmayın:

  • Veri güncelleştirilmesi ise AJAX ile yalnızca veri fark gönderebilir ve / veya HTML daha kompakt bir formatta veri gönderebilir, çünkü tam HTML sayfa boyutuna göre, AJAX, META daha iyidir küçük.
  • JavaScript Running kullanıcının tarayıcısına bir yük koyar. Kullanıcı (nadir değildir) açık 20 sekme bulunur ve bunların her biri arka planda bazı setTimeout çalışıyorsa, JavaScript ücretsiz yenileme hepsini dönüştürmek için tarayıcı respoinsiveness büyük bir fark yaratabilir.

Eğer <META> etiketlerini kullanarak, tüm sayfayı yenilemeyi planlıyorsanız temiz yoldur. Bu sadece bunu yapmanın tam destekli HTML-tek yol olduğunda sayfanızı yenilemeyi JS zamanlayıcı var garip görünüyor.

Ancak, sadece tazelenmiş sayfanın belirli bir kısmını gerekiyorsa, AJAX kullanın. Bu kullanıcı deneyimi, hem de performans açısından daha iyi.

dinamik içerik getirmek için javascript kullanarak bir daha yararı vardır: içerik bir süre için yük değilse, yine de denemeye devam edebilirsiniz. Eğer tüm sayfayı yeniden yükleyin ve yük değilse, o zaman orada durmak istiyorum.

Eğer Ajax kullanmak eğer tüm sayfa boşaltılıyor ve tekrar tekrar işleme görmüyorum, çünkü aynı zamanda, daha sonra ekran güzel.

Istemcisi için, belirtilen tüm yöntemlerin arasında hiçbir fark gerçekten var. Ben bulabilirim tek fark kullanarak başka çözümler yapmak gibi, javascript gerektirir, ama günümüzde herkes yine javascript olmamasıdır.

Büyük fark, bana, sunucu kullanımında olduğunu. Her 10 saniyede bir yenileniyor 100 kullanıcı varsa, bu zaten yaklaşık 10 reqs / sn bulunuyor. Mantık bağlı olarak (dinamik muhtemeldir) sayfası oluşturmak zorunda, bu sunucu kullanım havai fişek neden olabilir. Bu konuda dikkatli emin olun.

Ayrıca meta etiketi çok ne yaptığını başarmak için PHP header () kullanabilirsiniz unutmayın. Sadece diğer çıkıştan önce header () çağrısı yapmak emin olun.

JQuery ile bunu) yapabilirsiniz:

var seconds = 10;
var id = setInterval(function()
{
     $('#container').load('whatever.php');
}, 1000*seconds);

:)