2013-10-15 98 views
1

我有一个Android Phonegap /科尔多瓦应用程序使用远程索引页面,实现HTML5缓存,因此该应用程序可以离线使用。一旦用户使用主动连接启动应用程序以最初填充缓存,此功能就很有用,它可以无缝工作,并且在脱机时感觉真的是本机应用。打开Phonegap /科尔多瓦应用程序脱机

但是,我想优雅地处理某人在离线时第一次启动它,即远程页面尚未被缓存时。目前它没有找到页面。

我可以检查在重定向到远程页面之前是否有网络连接,但这意味着即使远程index.html已被缓存并且可以脱机使用,它们也必须有连接才能启动它。

是否有避免找不到默认页面的好方法?理想情况下,我想显示一个对话框,指出用户需要数据连接才能第一次打开应用程序,以允许将远程资产缓存到本地。

回答

1

找到答案 - I将此添加到其延伸Droidgap

public void onReceivedError(int errorCode, String description, String failingUrl) { 
     super.loadUrl("file:///android_asset/www/offline.html"); 
     return; 
} 

在这种情况下我包括一个offline.html文件来显示离线消息的主要活动,具有重试按钮,尝试重定向到远程索引页面。如果webview在加载远程页面时遇到问题,它将优雅地回退到本地offline.html页面,直到它可以缓存远程文件。

没有讨厌的404页,很好!

+0

你知道IOS如何支持这个吗 –

相关问题