我使用Leaflet.js使用这些插件制作了这个application:MarkerCluster,Leaflet Map Fullscreen,它托管在Linux服务器,HTTP apache2。
出于某种原因,我无法在以下浏览器中获取当前位置:
在IE中,它给了我弹出窗口以允许定位自己,它只能运行一次。如果我试图再次找到自己,它的行为就像上面的其他浏览器一样。
而且,如果我打开Instagram中的链接,它可以正常工作......
它也可以在localhost中工作,或者如果我使用位置防护浏览器扩展来使我的位置成为一个固定点。
造成这个问题的原因是什么?是因为它不是https吗?
答案 0 :(得分:1)
如果您想在大多数(如果不是全部)现代浏览器上支持地理定位,则必须切换到https。
从Chrome 50开始,Chrome不再支持获取 用户的位置使用来自页面的HTML5 Geolocation API 通过非安全连接。这意味着正在制作的页面 地理位置API调用必须从安全上下文中提供,例如 HTTPS。
此功能仅在安全上下文(HTTPS)[...]
中可用
根据nice support grid on MDN,Opera和Safari还应该要求https来启用地理定位。