Min*_*ael 6 iphone webpage download complete uiwebview
在我的应用程序中有一个加载网址的uiwebview.我使用以下行来保存本地加载的页面的HTML,以便能够脱机查看它.
NSString* html=[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"]
Run Code Online (Sandbox Code Playgroud)
问题只是保存文档的HTML,我想保存图像和CSS以及HTML,以便用户看到页面就像他在线一样.
就像"保存网页完成"或类似的东西,我们曾经在浏览器中使用过.
感谢您的帮助.
没有简单的方法。使用 RegexKitLite ( http://regexkit.sourceforge.net/RegexKitLite/index.html )对 HTML 进行正则表达式,并将所有 url 抓取到 .jpg、.gif、.png、.css 和 .js 以及您需要的所有其他内容。
或者,致电:
NSString* imgUrls=[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('img')"]
Run Code Online (Sandbox Code Playgroud)
或者类似的东西,我不是 javascript 高手...然后处理所有返回的内容;)
对不起。这是后脑勺的痛苦。
编辑:
保存 iPhone 上的所有 img,同时保存 html 文件。当您想要重新加载页面时,将文件中的 html 加载到字符串中,然后使用
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
Run Code Online (Sandbox Code Playgroud)
加载 HTML 字符串。baseURL 用于指定 webview 想象的 html 字符串所在的目录或站点。所有 URL 都与此相关。
当然,请注意,这对于绝对 URL 来说效果不佳,仅适用于相对 URL。所以,在你的 html 文件中,这会让事情变得更糟:
<img src="http://google.com/f/r/i/g/img.gif">
Run Code Online (Sandbox Code Playgroud)
虽然这样就可以了:
<img src="f/r/i/g/img.gif">
Run Code Online (Sandbox Code Playgroud)
再说一遍,整个解决方案很糟糕。您可能会研究一个预先存在的开源递归 html 蜘蛛。我认为 wget 可以满足您的要求,但我怀疑它是否可以轻松地为 iPhone 编译。
| 归档时间: |
|
| 查看次数: |
5144 次 |
| 最近记录: |