android webview显示html字符串,android-如何获取在webview中显示的html页面的全部内容文本...

在Android中,从WebView获取HTML页面内容时遇到问题。尝试通过JavaScript接口来实现,但在`onPageFinished`中调用`loadUrl`并未成功。解决方案是移除不必要的`setWebViewClient`设置,并正确使用JavaScript接口将HTML内容传递到活动的`processHTML`方法中,以显示或处理HTML文本。
摘要由CSDN通过智能技术生成

我发现从webview读取内容的问题.我试过无法修复.

我已经在webview中显示了一个html页面.我需要字符串中该html页面的内容

WebView mainContent = (WebView)layout.findViewById(R.id.webView1);

mainContent.getSettings().setJavaScriptEnabled(true);

WebSettings webSettings = mainContent.getSettings();

webSettings.setJavaScriptEnabled(true);

webSettings.setBuiltInZoomControls(true);

mainContent.requestFocusFromTouch();

mainContent.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

mainContent.loadUrl("javascript:window.HTMLOUT.processHTML(''+document.getElementsByTagName('html')[0].innerHTML+'');");

}

});

mainContent.setWebChromeClient(new WebChromeClient());

mainContent.loadUrl("file:///android_asset/"+filename.get(position));

webSettings.setDefaultFontSize(40);

在我的活动中

public void processHTML(String html) {

System.out.println("======++++"+Html.fromHtml(html));

}

我什么都没看到.如何获取字符串中HTML页面的内容(文本).我在做什么错?提前致谢

解决方法:

这样我就知道了

mainContent.getSettings().setJavaScriptEnabled(true);

WebSettings webSettings = mainContent.getSettings();

webSettings.setJavaScriptEnabled(true);

webSettings.setBuiltInZoomControls(true);

mainContent.requestFocusFromTouch();

mainContent.setWebChromeClient(new WebChromeClient());

mainContent.loadUrl("file:///android_asset/"+filename.get(position));

mainContent.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

mainContent.setWebViewClient(null);

mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('

'+document.getElementsByTagName('div')[0].innerHTML+'
');");

在我的活动中

class MyJavaScriptInterface {

@SuppressWarnings("unused")

public void processHTML(final String html) {

runOnUiThread(new Runnable() {

public void run() {

Spanned page = Html.fromHtml(html);

System.out.println("content"+page);

}

});

}

}

标签:webview,html,android

来源: https://codeday.me/bug/20191029/1959319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值