3

我正在尝试建立一个基于地理位置的网站,我正在考虑使用 html5 地理位置。

我构建了 w3c 代码,但它在 google chrome 上对我不起作用,然后我注意到在 google chrome 上没有一个在线示例适用于我:

http://www.w3schools.com/html/html5_geolocation.asp

http://html5demos.com/geo

奇怪的是,我确实看到了询问我是否要授予访问位置信息的权限的提示,但在那之后它就不起作用了。我检查了我的 chrome 设置,它是“询问是否授予网站权限”。

相反,在同一台机器上的 safari 上运行良好。

如果这能以某种方式提供帮助,我正在使用 iMac(2012 年底)。

谢谢!

编辑:

我已经尝试过这个解决方案:W3C Geolocation API not working in Chrome

4

1 回答 1

0

HTTP 上的地理定位将不再起作用,因为不推荐使用非安全地理定位:

我们希望开始将https://w3c.github.io/webappsec-secure-contexts/中的概念应用于已经发布但不符合(新的,当时不存在的)要求的功能。特别是,这大约要求强大的功能只能在完整祖先链也是安全的“安全来源”(例如 HTTPS)上访问。

我们希望首先要求这些现有功能的安全来源:

Geolocation — requires secure origins as of M50
Device motion / orientation
EME
getUserMedia
AppCache

与逐渐将 HTTP 标记为不安全一样,我们希望根据使用阈值,从最低使用率开始逐步将这些功能迁移到仅安全模式。我们还希望逐渐在 UX 中表明这些功能已被不推荐用于非安全来源。

这些功能中的每一个的弃用策略尚未确定,并且可能因功能而异。我们目前不知道阈值是多少,也不知道这些特征在何种来源上的使用频率。我们正在收集数据,当我们有数据时会报告。除了最终弃用之外,目前根本没有确定的计划。我们打算以此激发公众讨论解决此弃用的最佳方法。所以,到那时,我们很想听听社区的想法。

测试已弃用的强大功能 弃用某个功能后,如果您是一名开发人员,需要在没有有效证书的服务器上继续测试某项功能,您有两种选择:

localhost 被视为 HTTP 上的安全源,因此如果您能够从 localhost 运行服务器,则应该能够在该服务器上测试该功能。

您可以使用 --unsafely-treat-insecure-origin-as-secure="http://example.com" 标志运行 chrome(将“example.com”替换为您实际要测试的来源),这将处理该来源对于此会话是安全的。请注意,您还需要包含 --user-data-dir=/test/only/profile/dir 以创建新的测试配置文件以使该标志起作用。

参考

于 2016-07-23T09:31:38.640 回答