如何解决只允许安全起源

时间:2017-08-12 06:25:04

标签: android angularjs angular ionic-framework ionic2

我在Ionic应用程序中使用cordova地理定位插件。 当我在模拟器中运行应用程序时,我发现此错误仅允许安全来源。 因此无法获得内部模拟器的地理位置。 但是使用locahost它可以正常工作,可能localhost来自安全源。

浏览器即时使用是chrome。 插件https://ionicframework.com/docs/native/geolocation/

3 个答案:

答案 0 :(得分:4)

此问题已打开问题 https://github.com/ionic-team/ng-cordova/issues/1413

不推荐使用不安全(HTTP)上下文来访问用户的位置。请参阅https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features

在localhost上运行dev服务器应该可以正常工作。

答案 1 :(得分:0)

对于私有IP地址访问,最新的Firefox似乎可以立即使用(版本47.0及更高版本)。如果不起作用,请转到about:config并将media.navigator.permission.disabled设置为false。它也适用于android。

答案 2 :(得分:0)

问题是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