我在 Ionic 应用程序中使用 cordova 地理位置插件。 当我在模拟器中运行该应用程序时,我发现了此错误只允许安全源.因此无法获得内部模拟器的地理位置。 但是使用Locahost它可以正常工作,可能本地主机属于安全来源。
浏览器IM使用是Chrome。 插件 https://ionicframework.com/docs/native/geolocation/
此问题存在问题 https://github.com/ionic-team/ng-cordova/issues/1413
使用不安全 (HTTP( 上下文不推荐访问用户的位置。请参阅 https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features。
在本地主机上运行开发服务器应该可以工作。
问题是 Android 的默认 Web 视图方案是: http://localhost 地理位置插件不接受"http://..."作为仓位请求的起源。 在iOS上,它可以工作,因为默认方案是 ionic://localhost
在 config.xml 文件中将 Android 方案设置为 "https":
<preference name="Scheme" value="https" />
注意:还有必要允许新方案的导航:
<allow-navigation href="https://*"/>
其他 Web 视图配置: https://github.com/ionic-team/cordova-plugin-ionic-webview
对于私有IP地址访问,最新的Firefox似乎开箱即用(版本47.0及更高版本(。如果它不起作用,请转到about:config并将media.navigator.permission.disabled设置为false。它也适用于安卓。
就我而言,我使用的是NuxtJS(Vue2(。我使用 http://192.168.50.48:3000 作为主机。我没有使用它,而是用 http://localhost:3000 构建。它现在工作得很好。将其切换回本地主机,它开始工作。