2014-09-03 69 views

回答

1

请记住:Sencha Touch不过是JavaScript。 您可以在加载sencha微缩装载器的脚本标签前的index.html中添加一些脚本。

<!DOCTYPE HTML> 
<html manifest="" lang="en-US"> 
<head> 
    <meta charset="UTF-8"> 
    <title>FNL</title> 
    <style type="text/css"> 
     <!-- sencha stuff --> 
    </style> 

    <script id="myScript" type="text/javascript" src="myScript.js"></script> 
    <!-- The line below must be kept intact for Sencha Command to build your application --> 
    <script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script> 
</head> 
<body> 
    <div id="appLoadingIndicator"> 
     <div></div> 
     <div></div> 
     <div></div> 
    </div> 
</body> 
</html> 
+0

是的,但是这是一件超出煎茶边界。需要在应用程序级别进行。无论如何,我认为这是一个简单的方法,可能会帮助其他读者。 Upvoted。 – 2014-09-03 18:37:37

1

我添加一些行到ST微加载:

this.css = processAssets(manifest.css, 'css'); 

    // Load language strings 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET', 'api/Settings', false); 
    xhr.send(null); 
    var settings = eval("(" + xhr.responseText + ")"); 
    Lang = settings.Translations[0]; 
    Options = settings.Options[0]; 
    // End Load Language Strings 

    this.js = processAssets(manifest.js, 'js'); 
+0

Upvoted,但是建议您对microloader进行更改吗? – 2014-09-03 18:40:24

+0

不,他们不推荐它 - 他们推荐使用商店的语言字符串和千行'panel.setTitle()','label.setText()'等将字符串放入用户界面。 – Alexander 2014-09-04 07:12:59

+0

我忘记了他们的第二个建议:我应该为每种语言编译一次项目,并在每个app.js文件中对语言字符串进行硬编码。 – Alexander 2014-09-04 07:14:23

1

在ExtJS的我通过加载相关性类第一

Ext.require([ 
    'MyApp.Dependencies', 
    .. 
]); 

所以依赖条件类的所有控制器之前加载完成了这个看起来像这样

Dependencies.js:

Ext.define('MyApp.Dependencies', { 

    singleton: true, 

    init: function() { 
     // load translation data 
    } 

}); 

MyApp.Dependecies.init(); 

和completition我的初始化函数看起来是这样的:

inti: function(){ 
    function loadScriptSync(url) { 
     var xhrObj = new XMLHttpRequest(); 
     // open and send a synchronous request 
     xhrObj.open('GET', url, false); 
     xhrObj.send(''); 
     // add the returned content to a newly created script tag 
     var se = document.createElement('script'); 
     se.type = "text/javascript"; 
     se.text = xhrObj.responseText; 
     document.getElementsByTagName('head')[0].appendChild(se); 
    } 

    var language = this.getLanguage(); 

    loadScriptSync("resources/locale/locale." + language + ".js"); 
} 
+0

嗯,有趣。这看起来可能有用。让我检查一下。谢谢,upvoted。 – 2014-09-03 18:39:40

相关问题