2017-09-19 36 views
0

在我的应用程序中,我在webview中显示远程内容。 出于测试目的,我需要这些页面是静态的,作为本地文件存储在包中。UIWebView - 在显示时转储HTML

问题是HTML正文不足以正确显示页面。有一些外部资源和脚本以及一个给定的文档。

我的问题是我可以转储显示的页面“原样”格式已经应用,功能链接等? 如果是这样,怎么样?

回答

0

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:方法即可。

+0

不是我真正想要的。我一直在考虑接近[EVURLCache](https://github.com/evermeer/EVURLCache)的东西 - 保存所有文件并能够恢复它们。 – kynleborg

+0

听起来好像你是在离线浏览器之后,而不是HTML翻车机。我已经更新了我的答案以反映这一点。 – Xenero