2013-10-15 96 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如何支持這個嗎 –

相關問題