代码之家  ›  专栏  ›  技术社区  ›  Jamie Sauve

如何在Ubuntu 16.04上使用Firefox/Chromium启用地理定位

  •  0
  • Jamie Sauve  · 技术社区  · 6 年前

    我正在构建一个节点应用程序,返回用户的地理位置,但我很难测试它,因为我无法在我的计算机上访问地理位置。我尝试在Firefox和Chromium中使用我的localhost服务器,Firefox请求我的许可,但后来无法检索到它,Chromium甚至没有做到这一点。当我将它部署到Heroku时,我仍然无法在计算机上访问它。在我的iPhone上,Firefox仍然不走运,但Safari可以做到。我不知道我的问题是否出在Ubuntu本身(它能阻止这样的事情吗?)或者如果Firefox和Chromium都有相同的问题。

    我怀疑我的代码是否会特别有用,但不管怎样,这就是:

    const locationButton = jQuery('#send-location');
    locationButton.on('click', function() {
      if (!navigator.geolocation) return alert('Geolocation not supported by your browser.');
    
      navigator.geolocation.getCurrentPosition(function (position) {
          socket.emit('newLocationMessage', {
            latitude: position.coords.latitude,
            longitude: position.coords.longitude
          }, function (mapLink) {
            alert(mapLink);
          });
      }, function () {
        alert('unable to fetch location.')
      });
    });
    

    该应用程序也在 http://rocky-brook-97128.herokuapp.com/ 。 感谢您的指导!

    2 回复  |  直到 6 年前
        1
  •  0
  •   Brahma Dev    6 年前

    从Chrome 50开始,地理定位API将仅在HTTPS等安全上下文中工作。如果您的站点托管在非安全源(如HTTP)上,则获取用户位置的请求将不再有效。

    在https上尝试。 https://rocky-brook-97128.herokuapp.com/

    Chrome Permission

    Chrome sending the geolocation

        2
  •  0
  •   Abslen Char    6 年前

    (1) 在新选项卡中,在地址栏中键入或粘贴about:config,然后按Enter/Return。

    (2) 在列表上方的搜索框中,键入或粘贴geo并在筛选列表时暂停

    (3) 如果 geo.wifi.uri 首选项为粗体且为“修改”或“用户设置”,您可以右键单击>将其重置为默认值

    如果Firefox向地理位置服务发送任何信息,则地址应显示在浏览器控制台中 您可以检查和管理上所有域的权限 about:permissions