如何在Android的WebView上设置DIV元素的内容?

时间:2018-04-05 02:31:18

标签: android html dom webview android-webview

我有一个使用以下内容初始化的WebView:

<!DOCTYPE html><html>
<body>
<div class="section" id="header"></div>
<div class="section" id="content"></div>
<div class="section" id="status"></div>
</body>
</html>

然后我获得对“header”节点的引用,并尝试为其设置一些HMTL:

org.w3c.dom.Document doc = webView.getEngine().getDocument();
Node headerNode = doc.getElementById("header");
headerNode.setNodeValue("<b>abc</b><i>defg</i>");

但是,我不会在webview中看到对输出的任何更改。然后我尝试从webview中回读HTML,以检查我的更新是否发生:

DOMSource domSource = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.transform(domSource, result);
System.out.println(writer.toString());

令我惊讶的是,打印出来了:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><HTML xmlns="http://www.w3.org/1999/xhtml"><BODY><DIV class="section" id="header"/><DIV class="section" id="content"/><DIV class="section" id="status"/></BODY></HTML>

不确定为何更改了doctype,以及为何我的更新未生效。我的问题是:

如何将这个小HTML片段附加到我引用的DIV节点?

谢谢!

0 个答案:

没有答案