Как встроить js код (javascript) в андроид

123
22 марта 2022, 14:40

Есть той сервис как Вебвизор у ЯндексМетрики, дан код как на картинке, и его нужно вставить в WebView в программе. Видел однажды такую реализацию но не понимаю как именно ее использовать. В общем нужно запустить этот код в WebView

Answer 1

Вставлять текст скрипта в уже загруженную страницу бесполезно.
Но вы пытаетесь это сделать другим скриптом:

var script = document.createElement('script')

Вместо этого можно выполнить сам целевой скрипт:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
    webView.evaluateJavascript(jsBody, null);
} else {
    webView.loadUrl("javascript:" + jsBody);
}

где jsBody - это чистый код скрипта (содержимое тегов <script ...></script>)
И не забудьте включить выполнение скриптов:

webView.getSettings().setJavaScriptEnabled(true);

Если нужно и картинку счётчика вставить, то следует добавить в начало или выполнить отдельно перед этим код вставки (ака createElement или как там - я в JS не особо разбираюсь)

Answer 2

Решено. Добавив

if (Build.VERSION.SDK_INT >= 21) {
            CookieManager.getInstance().setAcceptThirdPartyCookies(webContainer, true)
        } else {
            CookieManager.getInstance().setAcceptCookie(true)
        }
READ ALSO
Обнаружение строки-палиндрома

Обнаружение строки-палиндрома

Прошу подсказать наиболее эффективный способ обнаружения строки-палиндромаОсновной камень преткновения - символы пунктуации и иже с ними

102
Как правильно записать в коде async/await javascript

Как правильно записать в коде async/await javascript

я начинающий разработчик на JavaScript и начал изучат обещания, и меня интересует как правильно использовать в коде async/awaitКак записывать обычные...

161
php сокеты, ошибка использования socket_connect

php сокеты, ошибка использования socket_connect

Есть нейронная сеть, ожидающая запросов от сервера, написанного на phpПри клике я со страницы отправляю запрос на сервер и получаю ответ

70