Я хочу, чтобы 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('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');")
}
}
webView.loadUrl("www.someWebPageThatIsLoading.nl")
Что происходит: 1. Показывается загрузка страницы 2. Запускается processHTML и отображается HTMLстраницы загрузки 3. Проходит несколько секунд и страница загружается
processHTML должен запускаться после завершения загрузки.