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

Javascript 如何在android或java中从[object HTMLDocument]转换字符串,javascript,java,android,gecko,html-rendering,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

我正在开发一款定制的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]

中的源代码。您是否尝试将其转换为字符串?例如,console.log(“页面加载:+String(browser.contentTitle))

试试这个:

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);
我希望这会有帮助。

啊,我明白了。尝试:

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

这至少对我有效(如果我正确理解了您想要打印的内容)。

控制台中放置
而不是
+
。log()
函数作为
控制台。log()
也支持对象。你只需要用逗号分开

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

结果显示为“页面加载:[object HTMLDocument]”。我想打印源代码,但没有得到结果。s未打印。请尝试在此处检查:-此StringBuilder答案曾对我有效:)未获得任何结果。输出显示“页面加载内容:未定义”。这些代码是在javascript文件中编写的。该文件是android studio中XMLSerializer的导入文件。我有一个错误是JavaScript错误:“ReferenceError:XMLSerializer未定义”我认为它是“import org.xmlpull.v1.XMLSerializer;”,希望它能工作!它帮助我导入了JavaScript,非常感谢!输出为I/Gecko:console.log:Page loaded:Asset Test I/Gecko:console.log:Page loaded content:HTMLDocument{“location”:{“href”:resource://android/assets/test.html“来源”:resource://android“,”协议“:”资源“,”用户名“:”密码“,”主机“:”安卓“,”主机名“:”安卓“,”端口“,”路径名“:”/assets/test.html“,”搜索“:”,“hash”:“}}}使用逗号是不可能的。它只是显示它包含的内容
browser.contentTitle
browser.contentDocument
不包含任何源代码。我猜
事件。target
会给你源代码。这是源代码,请帮助我突出显示skype“点击呼叫”服务等电话号码。如何使用此代码。请帮帮我