Cordova 3.0,应用程序错误与服务器的连接不成功。 (超时)
Posted
技术标签:
【中文标题】Cordova 3.0,应用程序错误与服务器的连接不成功。 (超时)【英文标题】:Cordova 3.0, Application Error The Connection to the server was unsuccessful. (Timeout) 【发布时间】:2013-09-16 02:57:47 【问题描述】:我在尝试加载我的本地 index.html 文件时遇到了这个超时,我无法弄清楚如何从默认的 20 秒增加超时时间。我看到人们在他们的 droidgap 扩展程序 onCreate 方法中使用以下几行的帖子:
super.setIntegerProperty("loadUrlTimeoutValue", 70000); super.loadUrl("file:///android_asset/www/index.html");
但即便如此,该应用仍会在 20 秒后超时。加载该 index.html 文件需要超过 20 秒,因为它正在使用 window.open (inAppBrowser) 调用来获取远程资源。
在cordova 3.0中是否有设置超时的新地方?我正在从没有发生此问题的 phonegap 2.3 迁移。
【问题讨论】:
【参考方案1】:检查this link。
对我来说,当应用启动时,我们不得不做很多 ajax 的事情。通常(非常经常,但不是每次)这似乎会干扰到 Android(Cordova?)的低级别“应用程序已启动并运行”信号。然后应用程序在大约 20 秒后被上述错误杀死。 因此,使用几乎为空的 index.html 启动,然后将其重定向到真实页面 - 这似乎欺骗了所有相关方,让他们相信应用程序已完全启动并立即运行。
【讨论】:
对此进行跟进:从 Cordova 3.5 开始,可以通过 config.xml 文件调整超时。见the api docs【参考方案2】:对我来说,原因是本地容器端缺少一个 js 文件,直到加载远程应用程序才访问该文件(缓存破坏方案)。添加文件停止了错误。
我不得不深入调试 console.log() 才能找到这个答案。
【讨论】:
以上是关于Cordova 3.0,应用程序错误与服务器的连接不成功。 (超时)的主要内容,如果未能解决你的问题,请参考以下文章
如何验证与服务器的连接来自具有 Ionic/AngularJS/Cordova 的应用程序?
cordova-plugin-network-information 1.3.0“网络信息”未检测到应用程序何时在线
Socket.io 从远程 Cordova 应用程序连接 - 不允许访问