Javascript вызов Java-метод не работает сразу после загрузки страницы в веб-обозрение? - PullRequest
0 голосов
/ 31 августа 2018

Вот моя проблема, я хочу вызвать метод Java, такой как window.jsBridge, который определен в Java через:

CustomChromeClient client = new CustomChromeClient(
   "jsBridge", WebCallJsFunction.class);
mWebView.setWebChromeClient(client);

mWebView.loadUrl("file:///android_asset/test.html");

и в моем html:

<body>
</script>
  document.write(window.jsBridge.getSomething())
</script>
</body>

На странице ничего не будет отображаться, потому что window.jsBridge не определен, но если я изменю это на следующее:

setTimeout(() => {
  document.write(window.jsBridge.getSomething())
}, 500)

страница напишет правильную вещь. Я предполагаю, что причина в том, что метод java: mWebView.setWebChromeClient(client) выполняется с js в text.html в то же время , и когда js запускается: document.write(window.jsBridge.getSomething()), тогда в коде java нет выполнено завершено, я прав? Так как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...