2011-05-24 30 views
7

XMLHttpRequest kullanarak uzun bir yoklama yapmaya çalışıyorum. tüm destekleyici tarayıcılarda iyi çalışıyor, ancak iPhone'daki safari için her ajax çağrısı için yükleme göstergesi aldım ve uzun yoklama için biraz sinir bozucu.yükleme göstergesi

Belge yüklenene kadar beklemeniz gerektiğini okudum, ancak işe yaramıyor. Bunu çözmek için bilinen herhangi bir hack?

+0

+1 - Uzun zamandır yokken bile rahatsız edici. –

+0

Ne yazık ki - Sunucu Gönderilen Olaylar içeren bir sayfayı görüntülerken aynı şeylere sahibim. – theiOSDude

+0

Web soketlerini kullanmayı denediniz mi? – David

cevap

1

Aynı sorunu yaşadım, basit XHRO, gizli iFrames vb. Kullanmayı denedim, sadece iPhone üzerinde çalışmıyor. DOM'yi güncellememekte ya da "tüm" belge yüklenene kadar bir şey yapmıyor gibi görünüyor, benim örneğimde uzun anketin süresiydi.

Denemediğim tek şey JSONP. Belki de JSONP'yi deneyebilirsiniz.

Lütfen JSONP'yi deneyebilirseniz ve eğer işe yaraydıysa veya herhangi bir şey işe yaramadıysa bize bildirin!

GÜNCELLEME: Bunun neden bir yanıt olarak işaretlendiğini bilmiyorum, öyle olduğunu düşünmüyorum, bu yüzden lütfen cevap yerine nasıl yorum yapılacağını bana bildirin.

+0

Bu soruya cevabınız :) ama sorun değil, ASAP'ı deneyeceğim ve buraya bir geri bildirim vereceğim, bu yüzden girişiniz için teşekkürler :) –

+1

JSONP'yi denedim ama bu benim için işe yaramaz gibi görünüyor - I Hatta bir kaynak yüklemek için bile yapmadı:/ –

+2

@Florian "Bir kaynak yüklemek için bile yapmadım", böylece sunucu tarafından döndürülen JS'yi çalıştıramadınız mı? Kodunuzun basitleştirilmiş bir sürümünü gönderir misiniz? Biliyorum, uzun zamandır, özellikle safari üzerinde çalışmak için büyük bir acı olduğunu biliyorum. Etherpad'in ve/veya google sohbetinin nasıl çalıştığını bilmek gerçekten çok isterim .. Şu anda iPhone'larda şüpheleniyorum, hala kısa aralıklı periyodik AJAX çağrılarını kullanıyorlar ..Lütfen beni tanıyın .. –

1

Aynı problemi de yaşadım.

TÜM tarayıcılarda çalışmak için uzun zamandır (ya da herhangi bir anketi) almak pantolonun içinde bir vuruştur. Ve özellikle safari. İyilik.

socket.io bir çözümdür.

+0

Bunu kullanamıyorum çünkü sadece istemci tarafında geliştirilebiliyorum, bu yüzden sadece JavaScript, PHP ve HTML-Structures oluşturabilirim. –

+0

Bu durumda XMLHttpRequest yerine işin yapılması için jQuery's $ .ajax() işlevini kullanmayı düşünmelisiniz. Birden fazla tarayıcı için daha iyi uyumluluğa sahip olduğuna inanıyorum. $ .ajax() ile safari'de basit bir test çalıştırıyorsunuz ve sonra da bunu yapıyorsunuz. – khaverim

+0

Şu anda $ .ajax() ... ^.^ –

İlgili konular