Sencha构建包localstorage配额

时间:2014-04-01 18:11:24

标签: browser sencha-touch-2 local-storage mobile-safari

我正在尝试使用以下命令构建我的生产应用程序。

sencha app build production

它在桌面浏览器上工作正常,但是当我要通过URL从iPhone Safari浏览器运行时,我收到了localstorage配额访问限制错误。我可以理解设备上的浏览器限制是5MB,但我没有在localstorage中保存单个实体但仍然出现此错误。

我调查的是当为生产构建sencha应用程序时,app.js保存在localstorage中,app.css也保存在localstorage中,这会消耗整个配额限制。

解决此问题的预期和优雅解决方案应该是什么?一种解决方案是从app.json中删除app.js remove并在index.html中显式添加它,但它看起来像一个KLUDGE。请建议任何解决方案。

2 个答案:

答案 0 :(得分:1)

生产模式适用于生产服务器,当您在浏览器中打开它们时,会缓存javascript和css文件。你可以做一个不会在浏览器中缓存文件的sencha app build包。

该链接详细讨论了此问题http://andidog.de/blog/2012/07/dont-use-sencha-touch-production-mode-build-for-mobile/

答案 1 :(得分:0)

您可以通过app.json添加外部脚本,css文件和文件夹。从那里你可以配置如何线程化这些文件。

"css": [
    {
        "path": "resources/css/app.css",
        "remote": true
    }
],

或者您可以使用app.js

中的loader对象添加外部文件
Ext.Loader.loadScriptFile()

除了包或主题之外的共享代码,比如您自己的框架文件/对象,也可以使用加载器对象添加

Ext.Loader.setConfig({
    enabled: true,
    disableCaching: false,
    paths: {
        'Resources': 'resources/translations'
    }
});