Phonegap / Cordova ios加载远程url如何回退到本地index.html出错?

时间:2013-06-25 10:01:06

标签: ios cordova

我在我的cordova中使用远程URL作为内容,我使用appcache使其脱机工作 - 现在问题是在appcache初始化之前处理初始加载。

在Android中我让设备回退到本地index.html - 这可能是提供信息的,例如。让用户知道他们必须在线完成安装。

    // On error show default message page...
public void onReceivedError( int errorCode, String description, String failingUrl)
{
    super.loadUrl("file:///android_asset/www/index.html");
    return;
}

问题:“我如何在IOS中完成相同的工作?”

不必为我编写代码 - 提示文件和api将不胜感激

2 个答案:

答案 0 :(得分:2)

您可以使用UIWebViewDelegate方法检测您的远程内容加载无法加载。例如:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
   // here you can either check for the error type or for the url that has failed to load
   if([webView.request.url.absoluteString isEqualToString:@"your_remote_url")]
   {
      NSURL *url = [NSURL urlWithString:@"your_local_url"];
      NSURLRequest *request = [NSURLRequest requestWithURL:url];
      [webview loadRequest:request];
   }
}

答案 1 :(得分:0)

由于您只是想进行一些错误处理,因此一个解决方案是执行SubView,并从您需要的任何URL加载它。

您可以在此处找到有关如何执行此操作的指南:

http://docs.phonegap.com/en/3.0.0/guide_platforms_ios_webview.md.html#iOS%20WebViews

当然,这是从本机部分调用的:)

希望有所帮助!