如何在android或java中从[object HTMLDocument]转换字符串

时间:2016-08-18 13:47:38

标签: javascript java android gecko html-rendering

我正在开发一个定制的gecko驱动的Android浏览器。我想在控制台中打印源代码。

当我尝试打印时,显示[object HTMLDocument]

代码如下:

 function onPageLoad(event) {
   // the target is an HTMLDocument
   let contentDocument = event.target;
 let browser = BrowserApp.getBrowserForDocument(contentDocument);
   console.log("Page loaded: " + browser.contentTitle);
   console.log("Page loaded content: " + browser.contentDocument);

 }

输出是页面加载的内容:[object HTMLDocument]

我想在[object HTMLDocument]打印源代码。

4 个答案:

答案 0 :(得分:2)

啊,我明白了。试试:

let contentDocument = event.target;
console.log("Page loaded: " + contentDocument.title);
var s = new XMLSerializer().serializeToString(contentDocument);
console.log("Page loaded content: " + s);

这至少对我有用(如果我理解你想要打印的是什么)。

答案 1 :(得分:0)

您是否尝试过将其转换为字符串?例如,console.log(“页面加载:”+ String(browser.contentTitle));

答案 2 :(得分:0)

试试这个:

HTMLEditorKit tmp = new HTMLEditorKit(); 
HTMLDocument doc = (HTMLDocument) tmp.createDefaultDocument(); 
StringWriter writer = new StringWriter();
tmp.write(writer, doc, 0, doc.getLength());
String s = writer.toString();
console.log(s);

我希望它会有所帮助。

答案 3 :(得分:0)

,代替+放在console.log()函数中console.log()也支持对象。只需要用逗号分隔。

console.log("Page loaded: " , browser.contentTitle);
console.log("Page loaded content: " , browser.contentDocument);