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

How to enable geolocation using Firefox/Chromium on Ubuntu 16.04

我正在构建一个 returns 用户地理位置的节点应用程序,但我很难对其进行测试,因为我无法在我的计算机上访问地理位置。我尝试在 Firefox 和 Chromium 中使用我的本地主机服务器 - 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/ 上线。 感谢您对此的任何指导!

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

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

(3) 如果 geo.wifi.uri 首选项加粗并且 "modified" 或 "user set",您可以 right-click > 将其重置为默认值

如果 Firefox 向地理定位服务发送任何内容,地址应该出现在浏览器控制台中 您可以在 about:permissions 页面

上检查和管理所有域的权限

自 Chrome 50 起,地理定位 API 仅适用于安全上下文,例如 HTTPS。如果您的网站托管在 non-secure 来源(例如 HTTP)上,获取用户位置的请求将不再有效。

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