0

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

4

2 回答 2

0

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

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

如果您想共享整个文档,那么下一个问题是您希望共享哪些设备。如果都是关于 Android 的,那么您可以使用webview.saveWebArchive()方法来获取一个准备好发送到另一个 Android 设备的 XML 文件(该文件包含具有所有资源的文档内容)。

如果您想在任意平台上共享文档,您可以自己访问 html-code。例如,captureWebDocument(text)在您的 Java 接口中定义一个方法,在 webview 中为 JavaScript 扩展注册。然后子类WebViewClient和覆盖onPageFinished()方法 - 一个例子可以在这里找到。

在您应该执行的方法中:

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

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

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

于 2013-04-16T13:57:50.100 回答
0

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

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

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

于 2013-04-16T13:41:04.320 回答