在我的应用程序中,我在webview中显示远程内容。 出于测试目的,我需要这些页面是静态的,作为本地文件存储在包中。UIWebView - 在显示时转储HTML
问题是HTML正文不足以正确显示页面。有一些外部资源和脚本以及一个给定的文档。
我的问题是我可以转储显示的页面“原样”格式已经应用,功能链接等? 如果是这样,怎么样?
在我的应用程序中,我在webview中显示远程内容。 出于测试目的,我需要这些页面是静态的,作为本地文件存储在包中。UIWebView - 在显示时转储HTML
问题是HTML正文不足以正确显示页面。有一些外部资源和脚本以及一个给定的文档。
我的问题是我可以转储显示的页面“原样”格式已经应用,功能链接等? 如果是这样,怎么样?
HTML转储不是iOS的内置功能,也绝对不是UIWebView的内置功能。 UIWebView纯粹是为了向最终用户显示Web视图。此
一个解决方法是很简单,可能不足以为你以后有什么是下面的代码片段:
NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
更深入的解决办法是要么利用,做了一个API这为你或创建自己的API来处理这个。一种现成的解决方案是Symfony。
UPDATE
问题的提问者澄清说,他是一个离线浏览器功能,而不是倾销funcitonality之后。
有一个名为Mattress的图书馆(https://github.com/buzzfeed/mattress),可以用最少的设置自动处理这个图书馆。要将网页缓存在Mattress磁盘缓存中,只需调用URLCache的diskCacheURL:loadedHandler:方法即可。
不是我真正想要的。我一直在考虑接近[EVURLCache](https://github.com/evermeer/EVURLCache)的东西 - 保存所有文件并能够恢复它们。 – kynleborg
听起来好像你是在离线浏览器之后,而不是HTML翻车机。我已经更新了我的答案以反映这一点。 – Xenero