Android webview загружает локальный javascript
Я пытаюсь загрузить файл javascript, хранящийся на устройстве, через файл html, который загружается через webview, но никогда не загружается. Я пробовал использовать прямой url, как обычно, в html, и также попробовал:
<script type="text/javascript" src="file:///android_asset/www/js/jsfile.js"/>
JavaScript также включен в настройках веб-просмотра и отлично работает, если у меня есть это на сервере.
Спасибо, если кто-нибудь может помочь.
Ответы
Ответ 1
Привет, на самом деле, мне нужно напрямую вызвать js файл, потому что вы вызываете его из браузера, который считает папку ресурса своей корневой папкой. Вы должны использовать префикс "file:///" при вызове из java-кода. Попробуйте что-то вроде этого:
<script type="text/javascript" src="www/js/jsfile.js"/>
Ответ 2
Вы можете использовать loadDataWithBaseURL
.
Поместите весь свой javascript в папку assets
и укажите путь к файлу js относительно каталога ресурсов в тэге script (в html). Не ставьте косую черту в начале src.
Прочитайте html в строке (htmlStr
), а затем загрузите его в веб-виде, как указано ниже.
webView.loadDataWithBaseURL("file:///android_asset/", htmlStr, "text/html", "UTF-8", null);
Это сработало для меня.