繁体   English   中英

如何从WebView共享html内容?

[英]How to share html content from a webview?

请告诉我如何共享webview的内容。 我已经使用myjavascriptinterface类进行注册,但是没有将webview的内容存储在哪里。 请正确指导,以便我可以正确理解javascriptinterface类的用法。

您好,如果您是指Contents HTML代码,我建议您使用Jsoup库,这是非常简单的语法:

Document document = JSoup.connect("http://example.com").get();

调用时:字符串html = document.getHtml(); 它返回文档的html字符串。

目前尚不清楚您想分享什么。 这是常见的注意事项。

在最简单的情况下,您只能共享一个URL。 您可以通过webview.getUrl()方法获取它。

如果要整体共享文档,则下一个问题是您要共享哪些设备。 如果全部是关于Android的,则可以使用webview.saveWebArchive()方法获取准备发送到另一个Android设备的单个XML文件(该文件包含具有所有资源的文档内容)。

如果要在任意平台上共享文档,则可以自己访问html代码。 例如,在Java界面中定义一个方法captureWebDocument(text) ,该方法captureWebDocument(text)在webview中注册为JavaScript扩展。 然后,子类WebViewClient并重写onPageFinished()方法-可以在此处找到示例。

在该方法中,您应该执行:

webview.loadUrl("javascript:injectedJS.captureWebDocument(document.documentElement.innerHTML)");

因此,您将在Java类中获得文档内容,并可以任何合适的方式进行共享。 提取任何包含的资源(例如图像)将需要更多的编码。

另一种可能性是在注入的JavaScript中执行所有共享功能(如果需要,包括将数据上传到服务器)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM