2016-08-18 3 views
1

Я разрабатываю настраиваемый браузер Android с поддержкой gecko. Я хочу напечатать исходный код в консоли.Как преобразовать строку из [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 («Страница загружена:» + String (browser.contentTitle));

+0

Результаты показаны как «Страница загружена: [объект 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

, который является файлом импорта XMLSerializer в студии android. У меня есть ошибка 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: Страница загружена: тест на активацию 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

Смежные вопросы