मैं अब तक क्या learnd है: आप नहीं कर सकते: ... 0 (
क्योंकि यह कुछ हद तक ब्राउज़र विशिष्ट व्यवहार है ...
- तो केवल एक चीज आप कर सकते हैं उपयोग कर रहा है ws पर कॉलबैक वस्तु और प्रार्थना ...
- या बस के ऊपर लिख
console.log
; 0)
कोड मैं तथापि किया साथ
मुझे मिल गया कुछ त्रुटि संदेशों में से छुटकारा, हो सकता है यह मदद करेंगे;)
जैसे:
- क्रोम मृत सर्वर के बारे में शिकायत नहीं करेगा और चुपचाप फिर से कनेक्ट करने का प्रयास करें ..
- IE 11 अभी भी स्क्रिप्ट त्रुटि
देता है
- आदि ..
एक बुनियादी कक्षा WS रैप करने के लिए: कॉलबैक पर एक नज़र डालें!
/**
* Socket Class
*/
Client.Source.Network.Socket.Class = new Class({ implements: [Client.Source.Network.Socket.Interface] },function(Host, Port){
var Configuration = {
Server: {
Protocol: 'ws',
Host: Host,
Port: Port
},
Event: {
Open: function(){},
Error: function(){},
Message: function(){},
Close: function(){}
}
};
var Socket = null;
/**
* @return {string}
*/
var HostUrl = function() {
return Configuration.Server.Protocol + '://' + Configuration.Server.Host + ':' + Configuration.Server.Port + '/Connection'
};
/**
* @returns {boolean}
*/
var IsSupported = function() {
return "WebSocket" in window;
};
this.Open = function() {
if(IsSupported()) {
Socket = new WebSocket(HostUrl());
Socket.onopen = Configuration.Event.Open;
Socket.onerror = Configuration.Event.Error;
Socket.onmessage = Configuration.Event.Message;
Socket.onclose = Configuration.Event.Close;
} else {
}
};
this.Send = function(Text) {
Socket.send(Text);
};
this.Close = function() {
Socket.close();
};
this.onOpen = function(Callback) {
Configuration.Event.Open = Callback;
};
this.onError = function(Callback) {
Configuration.Event.Error = Callback;
};
this.onMessage = function(Callback) {
Configuration.Event.Message = Callback;
};
this.onClose = function(Callback) {
Configuration.Event.Close = Callback;
};
});
कनेक्ट() पर एक नज़र डालें:(), OnClose() onError समारोह
/**
* Network Class
*/
Client.Source.Network.Class = new Class({ implements: [Client.Source.Network.Interface] },function(){
var _Self = this;
var Socket = null;
this.Connect = function(Host, Port) {
Socket = new Client.Source.Network.Socket.Class(Host, Port);
Socket.onOpen(function(){
_Self.Gui().Create(Client.Module.Client.Gui());
Client.Module.Chat.Message('Connected', 'green', 11);
Client.Module.Audio.Play('Client.Resource.Audio.Chat.UserOnline', 0.2);
});
Socket.onMessage(Response);
Socket.onError(function(){
Client.Module.Chat.Message('Connection Error', 'red', 11);
});
Socket.onClose(function(){
_Self.Gui().Destroy();
Client.Module.Chat.Message('Disconnected', 'darkred', 11);
Client.Module.Chat.Message('Connecting...', 'orange', 11);
window.setTimeout(function() {
_Self.Connect(Host, Port);
}, 2000);
});
Socket.Open();
};
this.Request = function(Application, Request, Data) {
Socket.Send(JSON.stringify({ Application: Application, Request: Request, Data: Data }));
};
var Response = function(Message) {
Message = JSON.parse(Message.data);
Library[Message.Application].Execute(Message.Request, Message.Data);
};
var Library = {};
this.Protocol = function(Application, Callback) {
Library[Application] = Callback;
};
var GuiObject = null;
this.Gui = function Gui() {
if(GuiObject === null) {
GuiObject = new Client.Source.Network.Gui();
}
return GuiObject;
};
});
आप केवल दिखाए जाने से WebSocket त्रुटियों को रोकने के लिए चाहते हैं या सभी त्रुटियों संदेशों पर प्रतिबंध लगाने चाहते हैं क्या ठीक हो? यहां का जवाब उपयोगी हो सकता है: http://stackoverflow.com/questions/7120290/how-to-suppress-all-javascript-runtime-errors – Greg
इस समय, मैं केवल वेबकेट त्रुटियों को रोकने के लिए पसंद करूंगा - अगर वह है बिल्कुल संभव है। यदि नहीं, तो मुझे आपके द्वारा पोस्ट किए गए विकल्प का उपयोग करना पड़ सकता है। धन्यवाद! – semmelbroesel
दुर्भाग्य से मैं विशेष रूप से उन त्रुटियों के लिए फ़िल्टर करने के तरीके की अनुशंसा करने के लिए websockets के साथ पर्याप्त परिचित नहीं हूं। हालांकि शुभकामनाएँ! – Greg