2016-08-18 59 views
1

我正在開發一個定製的壁虎驅動的android瀏覽器。我想在控制檯中打印源代碼。當我試圖打印它顯示[object HTMLDocument]如何從android或java中的[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

你有沒有試過把它轉換成字符串?例如,console.log(「Page loaded:」+ String(browser.contentTitle));

+0

結果顯示爲「頁面加載:[object HTMLDocument]」。我想打印源代碼。 –

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); 

我希望這將有助於。

+0

沒有得到結果。 s不打印。 –

+0

好吧,所以請嘗試檢查在這裏:http://stackoverflow.com/questions/12035316/reading-entire-html-file-to-string - 這個StringBuilder答案爲我工作過一次:) – lawstud

+0

沒有得到任何結果。 –

0

啊,我明白了。嘗試:

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

這對我至少工作(如果我正確理解你要打印的是什麼)。

+0

輸出顯示「頁面加載的內容:未定義」。代碼是用JavaScript文件編寫的。 –

+0

這是android studio中XMLSerializer的導入文件。我有一個錯誤是JavaScript錯誤:「ReferenceError:XMLSerializer未定義」 –

+0

我認爲它是「import org.xmlpull.v1.XmlSerializer;」,希望它能起作用! – TeachMeToAim

0

,而不是+console.log()功能console.log()也支持對象。只需要用逗號分隔即可。

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

輸出爲 I/Gecko:console.log:已加載頁面:Asset Test I/Gecko:console.log:已加載頁面的內容:HTMLDocument {「location」:{「href」:「resource:// android/assets /test.html","origin":"resource://android","protocol":"resource:","username":"","password":"","host":"android 「」 hostname「:」android「,」port「:」「,」pathname「:」/ assets/test.html「,」search「:」「,」hash「:」「}} –

+0

不可能使用逗號。 –

+0

它只是顯示它包含的內容。 'browser.contentTitle'和'browser.contentDocument'不包含任何源代碼。我猜'event.target'會給你源代碼。 – vusan

相關問題