有没有人知道如何在不安装Web服务器(如LAMP / XAMP)的情况下运行sencha touch 2应用程序。 (PS:我是Sencha Touch的新手)
我知道有一种方法 - 在Sencha Touch 2应用的app.json中包含phonegap's javascript文件。看起来像这样
"js":
{
"path": "cordova-2.5.0.js"
}
此后,示例应用程序在没有Web服务器的浏览器上运行。
还有其他方法吗?
如果没有网络服务器,添加phonegap js文件如何帮助运行sencha touch应用程序?
答案 0 :(得分:3)
使用--allow-file-access-from-files --disable-web-security
标志启动chrome也可以解决问题。
Sencha需要Web服务器,因为如果应用程序处于开发模式microloader
,请在Ajax
app.json
请求var xhr = new XMLHttpRequest();
xhr.open('GET', 'app.json', false);
文件,并加载其他文件。你可以在
../煎茶-SDK / mircroloader / development.js
文件包含以下代码 -
file://....
使用上述标记启动chrome时,即使使用{{1}} url scheme打开文件,chrome也允许发出ajax请求。
在使用sencha cmd压缩js / css后部署应用程序时,所有文件都捆绑在一个文件中。在这种情况下,您不再需要网络服务器。
<强>更新强>
来自白名单
的Cordova文档Apache Cordova中的域白名单是一种安全模型,用于控制对外部域的访问,例如http://google.com。默认安全策略是阻止所有网络访问。然后,应用程序开发人员可以声明对特定网络域和子域的访问。
和
在Widget Access specification中,该元素用于声明对特定网络域的访问。将来,Apache Cordova将把平台白名单实现抽象为W3C Widget Access规范。但是,现在每个平台都必须实现自己的域名白名单。
此外,W3C Widget Access不包含安全性和用户代理强制策略。它在XMLHTTPRequest中定义。
所以Cordova必不可少的是,在政策中添加了一个例外,允许使用白名单域访问应用域外的某些网络资源。