【发布时间】:2014-10-17 08:39:45
【问题描述】:
背景:
我正在从服务器加载我的整个 AngularJS Cordova/Ionic 网络应用程序。这真太了不起了。我可以在不通过 Apple 的情况下更改应用程序。
问题:
Q1) 如何在我的 index.html 文件中使用从服务器加载的 js-files.zip? Q2) 如何有效地从我的服务器加载 index.html 启动逻辑?
问题:
在一些较旧的设备上,如果我从服务器加载所有 .js 文件,加载时间会太长,因此我希望也能够从服务器配置该逻辑(在 index.html 中)。
我唯一没有从服务器加载的是 index.html 的内容
那么,我如何才能从服务器加载 index.html?
如果我尝试这样做
1) 使用 ajax 提取 indexfromserver.html 并使用 document.write(res) 对 index.html 进行 html 重写,那么 AngularJS 就会出现问题:
例如,模块丢失错误(以下 *1),因为在 ajax 响应重写 index.html 之前,以下内容不在 index.html 中:
<body ng-app="myapp" ng-controller="MainCtrl">
1.1) 我可以在初始的本地 index.html 中包含必要的模块,但是如果我重写 index.html,我会在 ionic 中收到关于 classList null 的这些错误/警告(请向我询问详细信息),deviceready 不是被解雇了,并且 angularjs 加载了不止一次
2) 我可以将 index.html 重定向到 indexfromserver.html,但是我所有的 $http 响应都被拒绝了。
关于 2) 我被告知我应该能够为 indexfromserver.html 添加一个控制器或指定 $urlRouterProvider.otherwise('/app/indexfromserver');
这并没有解决 $http 请求被拒绝的问题。
我不完全了解 index.html 是如何让 $http 正常工作的,因为它没有控制器,也没有提供“否则”路由。到目前为止,我只在 config.xml 中看到提到 index.html。
请求:
有人可以发布一个典型示例的 sn-p,说明 AngularJS Cordova/Ionic 应用程序如何有效地使用从服务器加载的 index.html 逻辑?
否则,有人可以显示/解释我是否/如何使用来自服务器的 js-files.zip,并解压缩并在 index.html 中使用?
详情/注意事项:
(*1) 未捕获的错误:[$injector:modulerr] 无法实例化模块 myapp 由于: 错误:[$injector:nomod] 模块“myapp”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 http://errors.angularjs.org/1.2.17/$injector/nomod?p0=myapp
【问题讨论】:
标签: angularjs cordova web-applications ionic-framework