मैं IE के लिए jsonp-मतदान उपयोग करने की आवश्यकता पर परिवहन प्रकार परिभाषित करें, और Firefox के लिए XHR-मतदान, तो मैं इस तरह क्लाइंट की तरफ परिवहन के प्रकार को परिभाषित करने की कोशिश की:ग्राहक के पक्ष
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);
}
मैंने फ़ायरफ़ॉक्स पर इसका परीक्षण किया और socket.io-client lib पर लॉगिंग जोड़ा।
परhttps://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1509
option.transports जो सही है ["xhr-polling", "flashsocket", "htmlfile", "xhr-polling", "jsonp-polling"]
है। हालांकि,
https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1679
पर मैं नहीं जानता कि क्यों परिवहन ["htmlfile", "jsonp- polling", "xhr-polling"]
को बदलने के लिए, जो मैं सर्वर साइड पर क्या परिभाषित के रूप में उसी क्रम है।
यह पिछले विकल्प का उपयोग क्यों नहीं करता है?
यह सुनिश्चित नहीं है कि प्रश्न क्या है, क्या यह अनुक्रम दिया गया है - उपरोक्त अनुक्रम - 'xhr-polling', आदि को अनदेखा किया गया है और इसके बजाय' htmlfile' पहले जाता है? क्या यह समस्या socket.io '0.8.7' के साथ दोहराती है? –
आपके लिए धन्यवाद प्रश्न! यह फ़ायरफ़ॉक्स के साथ मेरे दुःस्वप्न का जवाब था। सॉकेट.ओ दस्तावेज बहुत खराब है .. यह एकमात्र जगह है जहां मुझे परिवहन विकल्प मिलते हैं। :) –