是否可以读取已加载到的网页的原始HTML内容UIWebView?
如果没有,是否有另一种方法从iPhone SDK中的网页(例如.NET的等价物WebClient::openRead)中提取原始HTML内容?
我希望能够使用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).
有关如何使其工作的任何想法?
我的应用程序的一部分缓存网页以供离线查看.为此,我保存从站点获取的HTML并重写img urls以指向本地存储上的文件.当我将html加载到UIWebView中时,它会按预期加载图像,一切都很好.我也是以这种方式缓存样式表.
问题是,当我将手机置于飞行模式时,加载此缓存的html会导致UIWebView显示空白屏幕并在显示页面之前暂停一段时间.我发现它是由Web视图试图获取的原始HTML文档引用的非缓存URL引起的.这些其他URL包括缓存样式表中的图像,iframe中的内容以及用于打开连接以获取其他资源的javascript.当UIWebView尝试获取这些资源时会发生暂停,并且只有在所有这些其他提取超时后才会显示该网页.
我的问题是,如何让UIWebView显示我立即缓存的内容?这是我的想法:
有人能帮我一下吗?我一直在努力解决这个问题,而且我的想法已经不多了.
我有一个带有嵌入式UIWebview(Safari)控件的iPhone应用程序.我希望能够在本地存储来自某些网页的图像.
我可以以编程方式访问UIWebview下载图像的路径吗?或者我是否需要解析HTML,然后在网上找到图像资源并再次下载?
我一直在寻找这个,找不到任何东西.出于一些有趣的原因,我基本上需要将整个网站存储在我的iPhone中.无论我怎么弄清楚如何在我的UIWebView中正确显示它.
编辑:我应该澄清,我可以加载原始的HTML文件,并且我已经将所有路径都归为本地,除了没有任何内容链接.
这是代码
self.dataDetectorTypes = UIDataDetectorTypeLink;
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self loadRequest:request];
Run Code Online (Sandbox Code Playgroud)
index.html有一堆 <script type="text/javascript" src="somescript.js">
没有任何JS代码被执行