webview android 加载等待,android - 如何等待页面加载后在Android WebViewClient中执行Javascript代码 - 堆栈内存溢出...

我希望在网页加载完成后触发processHTML 。 我认为我需要:

document.load =

为了这。 但是我不知道如何将其放入loadUrl的正确语法:

class JavaScriptTokenSubstractInterface {

@JavascriptInterface

@SuppressWarnings("unused")

fun processHTML(html: String) {

Log.d("","html shown is loading and not the result.")

}

}

val webView: WebView = findViewById(R.id.webView)

webView.settings.javaScriptEnabled = true

webView.settings.useWideViewPort = true

webView.requestFocus(View.FOCUS_DOWN)

webView.addJavascriptInterface(JavaScriptTokenSubstractInterface(), "HTMLOUT")

webView.webViewClient = object : WebViewClient() {

override fun onPageFinished(webView: WebView?, url: String?) {

super.onPageFinished(webView, url)

Thread.sleep(3000)

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

}

}

webView.loadUrl("www.someWebPageThatIsLoading.nl")

发生了什么:1.显示页面的加载2.触发processHTML并显示加载页面的HTML 3.几秒钟过去,页面已完成加载

加载完成后应触发processHTML。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值