2009-04-01 16 views
15

Estoy viendo algunas de las llamadas al servidor (utilizadas para fines de seguimiento) en mi sitio que se interrumpió en Firefox mientras veía a través de HttpFox. Esto sucede al hacer clic en un enlace que carga otra página en la misma ventana. Funciona bien con popup. El tipo de error que se muestra es NS_BINDING_ABORTED. Necesito saber si la llamada de seguimiento está llegando al servidor o no. Funciona perfectamente con Internet Explorer. ¿Hay algún problema con la herramienta? En ese caso, ¿puede sugerir alguno que también se pueda usar en Firefox?NS_BINDING_ABORTED Se muestra en Firefox con HttpFox

Respuesta

5

Entonces, ¿el problema es que la herramienta que utiliza (HttpFox) le informa algún código de error (NS_BINDING_ABORTED) que no comprende?

http://markmail.org/message/m6z77uoixf3qu7u6 puede ser útil.

Además de su breve descripción y sin saber realmente qué es HttpFox, suena perfectamente normal que al abrir una página mientras se carga otra se cancelen las cargas en la primera página. No significa que las cargas se cancelaron antes de que se enviara la solicitud al servidor, que parece ser lo que más te importa.

+1

Para el registro: HttpFox permite, dentro de Firebug, ver las solicitudes HTTP (GET, POST ...) y los resultados, mostrándolas de forma amistosa, un poco como un sniffer de red. También consigo este error, la página abierta en realidad va a un iframe, así que creo que no puede haber dos concurrente carga de la página. – PhiLho

+2

HttpFox es totalmente independiente de Firebug, aunque Firebug incluye una herramienta similar en la pestaña "Red". – MatrixFrog

1

¿Qué otros javascript tiene en la página? Algunos javascript pueden estar disparando y provocar el aborto de la solicitud.

Noté lo mismo en mi aplicación. Estaba redireccionando la página en javascript (window.location = '/some/page.html') pero luego, más abajo del bloque de código, estaba llamando 'window.reload()'. La redirección anterior se anuló porque se llamó a window.reload.

No sé qué rastreo está utilizando, pero es posible que la solicitud se envíe a su servidor pero la solicitud se anula porque se emitió otra solicitud posteriormente.

1

He tenido un problema similar, pero he identificado la causa.

Tengo un enlace en la primera celda de una fila de la tabla, y un Javascript que replica ese enlace en los otros TD de la fila. Cuando hago clic en el enlace "real" (en la primera celda) obtengo este efecto secundario no deseado; cuando hago clic en otras celdas de la fila, todo está bien. Siento que es porque el script está agregando un segundo enlace a esa primera celda, cuando ya tiene una.

De ahí, dos solicitudes instantáneas para la misma página, la primera siendo cancelada por la segunda.

Esta técnica es bastante común, por lo que debe tenerse en cuenta.

1

error NS_BINDING_ABORTED - Mejor enfoque -Utilizando un método JavaScript "setInterval" con el retraso de Min '0' a máximo '100' milisegundos según la carga de página, podemos ejecutar nuestra solicitud de enlace de seguimiento después de la página predeterminada enviar la solicitud es procesada

mundo mejor solución:

var el = document.getElementById("t"); 
el.addEventListener("click", avoidNSError, false); //Firefox 

function avoidNSError(){ 
    ElementInterval = setInterval(function() { 
/* Tracking or other request code goes here */ 
    clearInterval(ElementInterval); 
},0); 

}; 
0

tengo un problema similar cuando algunos recursos (fuentes) que faltaban, que una página estaba tratando de llamar. Si solo tienes un problema en Firefox, ¿intenta Firefox recuperar un recurso ligeramente diferente de IE?

4

Como su servidor no está enviando encabezados de http Expires, el navegador está verificando si el contenido de su cashe está actualizado.

La forma en que lo hace es enviar al servidor una solicitud que diga cuál es la fecha de lo que tiene en el cashe, y el servidor está enviando 304 estado diciendo al cliente que lo que tiene es actual. En otras palabras, el servidor no está enviando el contenido completo de nuevo, pero en lugar de enviar a un corto cabecera decir el contenido cashe existente es actual.

Lo que probablemente necesite reparar, es agregar los encabezados Caduca a lo que le están sirviendo. A continuación podrá ver el cambio mensaje a NS_BINDING_ABORTED (cashe), lo que significa que el navegador está consiguiendo simplemente el contenido de su cashe, sabiendo que aún no ha expirado.

debo añadir, que cuando se hace una actualización de Firefox forzado, que se supone que desea volver a comprobar lo que está en el dinero en efectivo, por lo que ignora temporalmente caduca.

Cuestiones relacionadas