Tyl*_*ler 19 iphone html5 caching 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];
}
Run Code Online (Sandbox Code Playgroud)
我已经回顾了一些关于stackoverflow的相关问题,但它们似乎没有提供解决这个问题的信息.例如,我很确定我尝试缓存的文件不是太大,因为它们只是几个小文本文件(方式<25k).
有关如何使其工作的任何想法?
Mar*_*mus 26
我在UIWebView中使用.manifest文件工作.我在Apple开发者论坛上发现了这个技巧.
您必须为清单文件提供正确的mime类型:它必须是"text/cache-manifest"类型 - 如果是其他任何内容,那么您将不会缓存您的文件.
您可以在http://web-sniffer.net/上使用web-sniffer 查看服务器返回的标头.
如果您在Web服务器上使用.htaccess文件,则将以下行添加到.htaccess文件中:
AddType text/cache-manifest .manifest
Run Code Online (Sandbox Code Playgroud)
确保在进行此更改后清除浏览器缓存以查看效果.
HTH马克
编辑:仅在iOS 4.0及更高版本上支持此功能.你需要为iOS 2.x和3.x实现自己的缓存机制:-(
| 归档时间: |
|
| 查看次数: |
23349 次 |
| 最近记录: |