【发布时间】:2013-11-22 19:09:25
【问题描述】:
在 Android WebView 中,我想显示网站并将包含这些网站的所有图像的完整 HTML 下载到设备的存储中。
由于WebView 下载页面的所有资产以便能够显示它,如果我在WebView 中加载页面然后再次下载 HTML 和图像,那将是多余的工作,对吧?
所以我认为您可以访问WebView 下载的内容并将它们复制到设备的存储中。这可能吗?
根据this page,可以设置JavaScript接口,然后像这样调用一些JavaScript语句:
webView.loadUrl("javascript:doSomething()");
所以如果我只使用 JavaScript 的 document.innerHTML 或 document.getElementById('theID').innerHTML,我可以获得页面的 HTML。
对于图像,有没有比使用 JavaScript 更简单的解决方案?问题是我不仅想要 URL,还想要加载的资源。 WebView 确实已经下载了所有资产,所以问题是它是否以某种方式公开了对它们的访问权限。
如this question 中所述,似乎可以使用上下文菜单事件获取图像。 (Maybe even background images.) 但是有没有一种不需要用户操作并且批量保存所有图像的解决方案,最好不要再次下载它们?
【问题讨论】: