gpt4 book ai didi

iphone - UIWebView 中的 Html5 缓存 list ?

转载 作者:技术小花猫 更新时间:2023-10-29 12:04:20 25 4
gpt4 key购买 nike

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

我已经设置了一个我认为符合规范的示例,并且似乎可以在 Safari 4 和移动版 Safari 中使用,但不能在我的应用程序的 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 文件让它工作。我在 Apple 开发者论坛上发现了这个技巧。

您必须为 list 文件提供正确的 MIME 类型:它必须是“text/cache-manifest”类型 - 如果是其他任何类型,那么您的文件将不会被缓存。

您可以在 http://web-sniffer.net/ 使用网络嗅探器查看服务器返回的 header 。

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

AddType text/cache-manifest .manifest

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

HTH标记

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

关于iphone - UIWebView 中的 Html5 缓存 list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1540240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com