kullanıcı bir kutu içinde herhangi bir şey yazmaya değilse doğrulayarak

2 Cevap php

i bir mesaj gösterir daha i kullanıcı fazla 1-2 dakika ya da olay başka bir sayfadan diğerine gezinme hiçbir şey yazdığınız değil, bir mesaj göstermek istiyorum php ajax ile bir sohbet yapma ....... eğer öyleyse am Sohbet kutusunda yahoo gibi [son mesaj 2-3 Mintus önce alınan] .......

2 Cevap

setInterval periyodik giriş değerini denetler bir işlevi çalıştırmak ve (saklamak gerekir) Eğer işaretli önceki zaman karşılaştırmak için kullanın.

O değişmedi varsa, sunucuyu anlatmak için bir XHR kullanabilirsiniz.

Muhtemelen kullanmak istiyorsunuz setTimeout.

Yeni bir mesaj alındığında bir zaman aşımı ayarlayın. Sen süresi dolduktan sonra çağrılacak bir geri çağırma işlevi oluşturmak - fonksiyon mesajı yazardı. Bir ileti alındığında bu bağlantıyı tarif edildiği gibi, zaman aşımı temizlenmiş olması.

Eğer, bu şekilde - Bu genişletmek için, kullanıcı metin kutusu değiştirdiğinde komut değişken çeşit set ve geri çağırma işlevi değişkeni (yeni bir mesaj alındığında temizlenir hangi) denetlemek isteyebilirsiniz Bir kullanıcı bir mesaj alır ve kendi fikrini değiştirir ve onu, mesaj görüntülenen olmaz siler. ama ben bu istediğiniz davranış ise emin değilim.

Eğer mesaj sık sık her değiştirmek istiyorsanız, ilk mesajı çekecek olan setInterval kullanın ve sonra mesajın alındığı yana geçen süreyi güncelleyin. Hatta bunları birleştirmek olabilir - 3 dakika zaman aşımını ayarlamak, ve sonra setTimeout gelen geri arama itibaren, her 1 dakika için bir aralık başlar. Sen aralık temizleyin ve yeni bir mesaj olsa alınan mesajı silmek isteyebilirsiniz, böylece bu bayat anlamsız konuşma ortalıkta mesajları "mesajı 5 dakika önce alınan" yok.