6
我正試圖從Android應用中的WebView中拉出一些網頁源代碼。我已經成功,使用此:http://lexandera.com/2009/01/extracting-html-from-a-webview/如何從Android上的Javascript返回一個字符串?
加上這使它奇巧後工作:現在
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webView.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
outputViewer.setText(html);
}
});
}else{
webView.loadUrl("javascript:window.HTMLOUT.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
,問題是,非奇巧版本返回正是我想要的。然而,奇巧版本返回碼的轉義版本,這樣的事情:
"\u003Chtml>\u003Chead>\n\t\u003Cmeta charset=\"UTF-8\">\n\t\u003Cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\t\u003Clink rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n\t\u003Clink rel=\"pingback\"
是否有反轉義在Android上該字符串直接的方式?
邁克
我_did_谷歌,以及跨答案出來,但那些都名列解決方案的工作。 JSON.parse似乎不起作用,只是返回null,並且JavaScript中的解決方案仍將x傳遞給escape。 我認爲這個解決方案在字符串被傳遞之後需要在java中,而不是在Javascript中,因爲它似乎正在逃離出路。 這是否有任何意義? – user1766513
那麼,該解決方案是用JavaScript編寫的,因此您需要在該頁面中插入'