From c293b301bd0a1aac00bdc04a14be44d236bcd260 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 2 Jun 2014 03:28:00 -0400 Subject: [PATCH] feature(socket) init: add config check online --- lib/client/socket.js | 46 +++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/lib/client/socket.js b/lib/client/socket.js index 3edec66e..03ddfa30 100644 --- a/lib/client/socket.js +++ b/lib/client/socket.js @@ -28,26 +28,36 @@ var CloudCmd, Util, DOM, CloudFunc, io; Socket.CONNECTED = CONNECTED; Socket.DISCONNECTED = DISCONNECTED; - function init(callback, isLocal) { - var urlLocal = '/socket.io/socket.io.js', - urlCDN = 'https://cdn.socket.io/socket.io-1.0.0.js', - url = isLocal ? urlLocal : urlCDN, - - onerror = function() { - log(ERROR_MSG); - init(callback, true); - }, - - onload = function() { - exec(callback); + function init(callback) { + var loadSocket = function(isRemote) { + var urlLocal = '/socket.io/socket.io.js', + urlCDN = 'https://cdn.socket.io/socket.io-1.0.0.js', + url = isRemote ? urlCDN : urlLocal, + + onerror = function() { + log(ERROR_MSG); + + if (isRemote) + loadSocket(callback); + }, + + onload = function() { + exec(callback); + + if (!socket) + connect(); + }; - if (!socket) - connect(); - }; + DOM.load.js(url, { + onerror : exec.with(onerror, callback), + onload : exec.with(onload, callback) + }); + }; - DOM.load.js(url, { - onerror : exec.with(onerror, callback), - onload : exec.with(onload, callback) + CloudCmd.getConfig(function(config) { + var isOnline = config.online; + + loadSocket(isOnline); }); }