Javascript ExtJs minify被忽略
我们有一个CMS,所以我无法访问为我们的extjs实现呈现的HTML页面的标题。因此,我必须制定一个解决方案,如下所示:Javascript ExtJs minify被忽略,javascript,oop,extjs,localization,extjs4,Javascript,Oop,Extjs,Localization,Extjs4,我们有一个CMS,所以我无法访问为我们的extjs实现呈现的HTML页面的标题。因此,我必须制定一个解决方案,如下所示: Ext.local = {}; var lang = { initLang: function (revisionNr) { var local = localStorage.getItem('localLang') if (!local) { AjaxHandlerBy
Ext.local = {};
var lang = {
initLang: function (revisionNr) {
var local = localStorage.getItem('localLang')
if (!local) {
AjaxHandlerByClass('ajax/lang/webuser/init', {}, this.loadLangRemote);
} else {
local = JSON.parse(local);
if (local.revisionNr == config.revisionNr && local.lang == config.lang) {
console.log('loading local lang variables');
if (local.date < new Date().getTime() - (24 * 60 * 60 * 1000) * 2) {//2 day caching time before retry
delete window.localStorage.localLangBackup;
}
this.loadLangLocal(local);
} else {
delete window.localStorage.localLang;
AjaxHandlerByClass('ajax/lang/webuser/init', {}, this.loadLangRemote);
}
}
},
loadLangRemote: function (data) {
data.revisionNr = config.revisionNr;
data.lang = config.lang;
data.date = new Date().getTime();
lang.loadLangLocal(data);
localStorage.setItem('localLang', JSON.stringify(data));
},
loadLangLocal: function (data) {
var jsElm = document.createElement("script");
jsElm.type = "application/javascript";
jsElm.src = 'js/freetext-deploy.min.js?rev={/literal}{$revisionNr}{literal}';
document.getElementsByTagName('head')[0].appendChild(jsElm);
Ext.Date.defaultFormat = 'd-m-Y';
if (!debug) {
Ext.Loader.config.disableCaching = true;
}
Ext.application({
name: 'freetextOrder',
appFolder: 'modules/extjs/freetextOrder/app',
controllers: [
'Main'
],
launch: function () {
var freetextOrder = Ext.create('Ext.container.Container', {
renderTo: Ext.get('freetextOrderDiv'),
layout: 'fit',
id: 'catalogAdministrationDiv_ext',
height: 800,
cls: 'x-dig-override',
items: [Ext.create('freetextOrder.view.base.MainView', {})],
layout:'fit'
});
}
});
Ext.local = data;
}
};
lang.initLang();
Ext.local={};
变量lang={
initLang:函数(修订号){
var local=localStorage.getItem('localLang')
如果(!本地){
AjaxHandlerByClass('ajax/lang/webuser/init',{},this.loadLangRemote);
}否则{
local=JSON.parse(local);
if(local.revisionNr==config.revisionNr&&local.lang==config.lang){
log('loadinglocallangvariables');
如果(local.date
我遇到的问题是,缩小版被完全忽略了。我看到它加载到http请求上,但extjs忽略了它们。。。。尽管我可以看到对象是在include之后创建的(通过控制台日志)
有人知道我如何做到这一点吗?因为我发现没有人找到答案,所以我在这里发布了我自己的想法 因为看在上帝的份上,我可以不加载这个该死的东西,所以我重构了加载程序并将其导出到Js中。文件我后来在代码中请求并调用了它 导出的lang.js文件:
Ext.define('Lang', {
singleton: true,
ApplicationConf: null,
Launch: function (launchConfig) {
this.ApplicationConf = launchConfig;
var local = localStorage.getItem('localLang');
var me = this;
this.loadLangRemote = function (data) {
debugger;
data.revisionNr = config.revisionNr;
data.lang = config.lang;
data.date = new Date().getTime();
me.loadLangLocal(data);
localStorage.setItem('localLang', JSON.stringify(data));
};
this.loadLangLocal = function (data) {
Ext.local = data;
Ext.lang = function (langId) {
if (Ext.local[langId]) {
return Ext.local[langId];
}
delete window.localStorage.localLang;
localStorage.setItem('localLangBackup', true);
return langId;
}
Ext.application(me.ApplicationConf);
};
if (!local) {
Ext.Ajax.request({
url: 'ajax/lang/webuser/init',
params: {
sid: sid,
},
success: function (data) {
debugger;
me.loadLangRemote(Ext.JSON.decode(data.responseText));
}
})
} else {
local = JSON.parse(local);
if (local.revisionNr == config.revisionNr && local.lang == config.lang) {
console.log('loading local lang variables');
if (local.date < new Date().getTime() - (24 * 60 * 60 * 1000) * 2) {//2 day caching time before retry
delete window.localStorage.localLangBackup;
}
debugger;
me.loadLangLocal(local);
} else {
delete window.localStorage.localLang;
Ext.Ajax.request({
url: 'ajax/lang/webuser/init',
params: {
sid: sid,
},
success: function (data) {
me.loadLangRemote(Ext.JSON.decode(data.responseText));
}
})
}
}
},
})
对于代码中启动函数的调用,因为它在运行时没有定义。我首先将该文件添加到缩小的文件中,并调用Lang.Launch而不是Ext.Application
希望有人能使用我的解决方案:)
Ext.onReady(function () {
Lang.Launch({
name: 'catalogAdministration',
appFold....