2011-05-24 14 views
7

estoy tratando de hacer un sondeo largo usando XMLHttpRequest. Funciona bien en todos los navegadores compatibles, pero por alguna razón en safari en iPhone obtengo el indicador de carga para cada llamada ajax, y para largas encuestas eso es un poco molesto.indicador de carga en Safari en el iPhone en el sondeo largo

leí que hay que esperar hasta que se cargue el documento, pero no la costura al trabajo. cualquier otro truco conocido para resolverlo?

+0

1 - Es muy molesto, incluso cuando está * no * sondeo de largo. –

+0

lamentablemente no; tengo lo mismo cuando veo una página que tiene eventos enviados por el servidor. – theiOSDude

+0

¿Intentó utilizar sockets web, por ejemplo, f.ex como socket.io? – David

Respuesta

1

he tenido el mismo problema, he intentado usar XHRO sencilla, iFrames ocultos, etc, simplemente no funciona en el iPhone. Parece que no actualiza el DOM ni hace nada hasta que se carga el documento "completo" que, en mi ejemplo, fue la duración de la encuesta larga.

La única cosa que no he intentado es JSONP. Tal vez puedas probar JSONP.

favor, haznos saber si u eran capaces de tratar JSONP y si ha funcionado o si algo funcionó en absoluto!

ACTUALIZACIÓN: No sé por qué esto está siendo marcada como una respuesta, yo no creo que es, así que por favor, hágamelo saber cómo hacer que un comentario en lugar de respuesta.

+0

Esta es su respuesta en la pregunta :) pero no hay problema, voy a tratar lo antes posible y le dará una retroalimentación aquí, así que gracias por sus comentarios :) –

+1

he intentado JSONP pero esto parece no funcionar para mí - ni siquiera llegó a cargar una fuente en:/ –

+2

@Florian "Ni siquiera llegué a cargar una fuente", por lo que no pudo ejecutar el JS devuelto por el servidor? ¿Puedes publicar alguna versión simplificada de tu código? Sé largo de sondeo es un gran dolor para hacer el trabajo, especialmente en el safari .. Realmente me gustaría saber cómo Etherpad y/o chat de Google works..I'm sospechar actualmente en iPhones que todavía utilizan a corto electorales periódicas llamadas AJAX ..Déjame saber hermano ... –

1

he tenido el mismo problema también.

Conseguir largo de votación (o cualquier sondeo en realidad) para trabajar en todos los navegadores es una patada en los pantalones. Y especialmente safari. Bondad.

socket.io es una solución.

+0

No puedo usar esto porque solo puedo desarrollarme en el lado del cliente, así que solo puedo crear JavaScript, PHP y estructuras HTML. –

+0

en este caso, probablemente debería considerar usar la función $ .ajax() de jQuery para realizar el trabajo en lugar de XMLHttpRequest. Creo que tiene una mejor compatibilidad para múltiples navegadores. Ejecuta una prueba simple en safari con $ .ajax() y luego construye fuera de ella. – khaverim

+0

Bueno, actualmente estoy trabajando con $ .ajax() ... ^.^ –

Cuestiones relacionadas