Я пытаюсь встроить свой веб-сайт в WebView на мобильной стороне.Мой сайт будет запрашивать местоположение пользователя, чтобы вернуться в ближайший магазин.
Работает нормально как для browsers
из android
, так и для iOS
устройств.Тем не менее, он загружается очень медленно (1-5 с), когда я использую WebView для переноса своего веб-сайта.
PS: он работает нормально (<0,5 с) даже в браузере устройств Android (Chrome и т. Д.)</p>
Я использую html5 api
для получения местоположения.
...
navigator.geolocation.getCurrentPosition(
successHandler,
errHandler,
{ enableHighAcuracy: true }
...
Для Android я пробовал
React-Native
: реагировать-родной-веб-просмотр
Android
: собственный WebView
Для обоих случаев я включил
web_view.settings.setAppCacheEnabled(true)
web_view.settings.domStorageEnabled = true
web_view.settings.javaScriptEnabled = true
web_view.settings.setGeolocationEnabled(true)
web_view.settings.databaseEnabled = true
web_view.webChromeClient = object : WebChromeClient() {
override fun onGeolocationPermissionsShowPrompt(
origin: String?,
callback: GeolocationPermissions.Callback?
) {
callback?.invoke(origin, true, true)
}
}
Я собираюсь попробовать watchLocation api, чтобы увидеть, может ли производительность быть лучше или нет.