Прослушивание событий окна в Android WebView - PullRequest
0 голосов
/ 18 мая 2019

Я загружаю веб-страницу в WebView и пытаюсь подписаться на события JS.В качестве примера, скажем, я ищу событие загрузки окна.

Я настраиваю веб-просмотр в его onFinishInflate:

webView.setJavaScriptEnabled(true);
webView.loadUrl("javascript:window.addEventListener('load', function(){alert('loaded');})");

Я предполагаю, что эта регистрация сохраняется на страниценавигации и что это может быть сделано до того, как какая-либо страница действительно будет загружена (из-за того, что это было сделано на window).

При загрузке любого URL, следующего за этим, такого как webView.loadUrl("https://www.google.com"), не появляется никакого предупреждения.

Я также пытался загрузить эту строку JavaScript в качестве URL-адреса в клиенте веб-представления onPageStarted & onPageFinished.Без разницы.

Можно ли подписаться на события окна веб-просмотра?В конце концов я планирую использовать шаблон @JavascriptInterface для обратного вызова нативного кода, когда происходит событие JS.Я бы не хотел, чтобы сама веб-страница знала об внедренном объекте Java / JS (необходимость проверки существования этого объекта-моста перед вызовом метода кажется небрежной - я нахожу здесь очиститель шаблона шины событий).

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