0
我使用WebView通過URL獲取網頁的html源代碼。 在我的Moto G設備(5.1.1)中,舊設備使用的代碼無效。Chrome View或WebView獲取Html源代碼Android
這是代碼:
myJavaScriptInterface = new MyJavaScriptInterface(getContext());
webview.addJavascriptInterface(myJavaScriptInterface, "HtmlViewer");
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
webview.loadUrl("javascript:window.HtmlViewer.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
/* webview.evaluateJavascript("javascript:window.HtmlViewer.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');",null);*/
/*view.loadUrl("javascript:console.log('MAGIC'+document.getElementsByTagName('html')[0].innerHTML);");*/
// webview.evaluateJavascript("javascript:console.log('MAGIC'+document.getElementsByTagName('html')[0].innerHTML);",null);
}
});
webview.loadUrl(url);
class MyJavaScriptInterface {
private Context ctx;
MyJavaScriptInterface(Context ctx) {
this.ctx = ctx;
}
@JavascriptInterface
public void showHTML(String html) {
//new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
// .setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
initStartAsyncTask(html);
}
}
所以我想在Android的
有關腳本的字符串,我用'」 document.getElementsByTagName('body')[0] .innerHTML;「'因爲我只對'
'內容感興趣(在KitKat +上)。 – karmakaze你能告訴我如何在吐司上顯示源代碼嗎?你的第一篇文章的哪一部分應該改變你的上面的代碼? – user1788736