iphone – Html5缓存清单在UIWebView? - 代码日志

iphone – Html5缓存清单在UIWebView?

我希望能够使用html5缓存清单在本地在通过应用程序中的UIWebView访问该页面的iPhone上存储图像。

我设置了一个我认为符合规范的示例,并且似乎在Safari 4和移动浏览器中工作,但不在我的应用程序的UIWebView中。

示例html设置为http://bynomial.com/html5/clock3.html

这与HTML5 draft standard提供的样本非常相似。

以下是我用于测试的示例应用程序的整个(非模板)代码:

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

  // I thought this might help - I don't see any difference, though.
  NSURLCache* cache = [NSURLCache sharedURLCache];
  [cache setDiskCapacity:512*1024];

  CGRect frame = [[UIScreen mainScreen] applicationFrame];
  UIWebView* webView = [[UIWebView alloc] initWithFrame:frame];
  [window addSubview:webView];

  NSString* urlString = @"http://bynomial.com/html5/clock3.html";
  NSURL* url = [NSURL URLWithString:urlString];
  NSURLRequest* request = [NSURLRequest requestWithURL:url];
  [webView loadRequest:request];

  [window makeKeyAndVisible];
}

我已经回顾了关于stackoverflow的几个相关问题,但是他们似乎没有提供信息来解决这个问题。例如,我很确定我要缓存的文件不是太大,因为它们只是一些小的文本文件(方式< 25k)。 任何想法如何让这个工作?

我使用UIWebView中的.manifest文件使其工作。我发现了苹果开发者论坛的伎俩。

您必须为清单文件提供适当的mime类型:它必须是“text / cache-manifest”类型 – 如果是其他任何东西,那么您将无法缓存文件。

您可以使用http://web-sniffer.net/上的web-sniffer来查看服务器返回的标题。

如果您在Web服务器上使用.htaccess文件,请将以下行添加到.htaccess文件中:

AddType text/cache-manifest .manifest

在进行此更改后,请确保清除浏览器缓存以查看效果。

HTH
标记

编辑:这仅在iOS 4.0及更高版本支持。您将需要为iOS 2.x和3.x实现自己的缓存机制:-(

http://stackoverflow.com/questions/1540240/html5-cache-manifest-in-a-uiwebview

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:iphone – Html5缓存清单在UIWebView?