Android WebView: как получить доступ к функции JS из папки ресурсов - PullRequest
1 голос
/ 21 января 2020

Я загружаю локальный файл HTML в мой WebView и выполняю мою JS -функцию следующим образом:

webview.evaluateJavascript("start();", null);

Это работает, пока у меня объявлена ​​функция в <script></script> теги в файле HTML.

    ...
    <body>

    <script type="text/javascript">

    function start(){

    }
    </script>

    </body>
    ...

Но теперь я впервые использую Webpack, чтобы связать мой код Javascript в один файл JS и сохранить его в папке assets моего приложение и загрузить его так:

<script type="text/javascript" src="file:///android_asset/js/bundle.js"></script>

Новый файл bundle.js содержит функцию start, но теперь я не могу вызвать ее, потому что она не определена.

Что я я здесь скучаю?

РЕДАКТИРОВАТЬ: Хорошо, моя функция доступна только в комплекте. js. Есть несколько способов заставить его работать, как я хочу:

Определить глобальную переменную с помощью веб-пакета

Я выбрал следующее решение, чтобы сделать мою функцию доступной в глобальном контексте :

window.start = function() {

}
...