我正在开发一个定制的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]
打印源代码。
答案 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);