necesito utilizar jsonp-sondeo para IE, y xhr-votación para Firefox, así que intentado definir tipos de transportes en el lado del cliente como esto:Definir los tipos de transporte en el lado del cliente
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
var socket = io.connect(VG.NODE_SERVER_URL,{
transports:['xhr-polling']
});
} else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
var socket = io.connect(VG.NODE_SERVER_URL,{
transports:['jsonp-polling']
});
} else {
var socket = io.connect(VG.NODE_SERVER_URL);
}
Lo probé en Firefox y agregué el inicio de sesión en socket.io-client lib. En
https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1509
los option.transports es ["xhr-polling", "flashsocket", "htmlfile", "xhr-polling", "jsonp-polling"]
, lo que es correcto. Sin embargo, en
https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1679
no sé por qué los transportes cambiar a ["htmlfile", "jsonp- polling", "xhr-polling"]
, que tiene la misma secuencia que lo que definida en el lado del servidor.
¿Por qué no utiliza la opción anterior?
No estoy seguro de cuál es la pregunta aquí, es que dada la secuencia - 'xhr-polling', etc, anterior se ignora y en su lugar' htmlfile' va primero? ¿Este problema se replica con socket.io '0.8.7'? –
¡Gracias por tu pregunta! Fue una respuesta para mi pesadilla con FireFox. La documentación de Socket.io es tan mala ... Es el único lugar donde encontré las opciones de transporte. :) –