(function() { UE.Editor.prototype.loadServerConfig = function() { var me = this; setTimeout(function() { try { me.options.imageUrl && me.setOpt( "serverUrl", me.options.imageUrl.replace( /^(.*[\/]).+([\.].+)$/, "$1controller$2" ) ); var configUrl = me.getActionUrl("config"), isJsonp = utils.isCrossDomainUrl(configUrl); /* 发出ajax请求 */ me._serverConfigLoaded = false; configUrl && UE.ajax.request(configUrl, { method: "GET", dataType: isJsonp ? "jsonp" : "", onsuccess: function(r) { try { var config = isJsonp ? r : eval("(" + r.responseText + ")"); utils.extend(me.options, config); me.fireEvent("serverConfigLoaded"); me._serverConfigLoaded = true; } catch (e) { showErrorMsg(me.getLang("loadconfigFormatError")); } }, onerror: function() { showErrorMsg(me.getLang("loadconfigHttpError")); } }); } catch (e) { showErrorMsg(me.getLang("loadconfigError")); } }); function showErrorMsg(msg) { console && console.error(msg); //me.fireEvent('showMessage', { // 'title': msg, // 'type': 'error' //}); } }; UE.Editor.prototype.isServerConfigLoaded = function() { var me = this; return me._serverConfigLoaded || false; }; UE.Editor.prototype.afterConfigReady = function(handler) { if (!handler || !utils.isFunction(handler)) return; var me = this; var readyHandler = function() { handler.apply(me, arguments); me.removeListener("serverConfigLoaded", readyHandler); }; if (me.isServerConfigLoaded()) { handler.call(me, "serverConfigLoaded"); } else { me.addListener("serverConfigLoaded", readyHandler); } }; })();