HTML5 Geolocation不会要求许可,也不适用于Samsung S3

ros*_*oss 5 html5 geolocation w3c-geolocation

使用标准HTML5地理位置代码,我可以访问桌面浏览器(Chrome,Firefox)上的地理位置,但不能访问我的Samsung Galaxy S3(默认浏览器,Chrome).在默认浏览器中,什么也没发生.在Chrome中,黄色权限表单会在底部弹出,但会弹出太快而无法按下任何内容.我已检查在"设置"中启用了"位置".我正在考虑寻找一个PHP解决方案作为JavaScript/HTML5解决方案崩溃的情况下的备份,但更希望JavaScript解决方案更强大.

有没有人遇到这个并修复它?有任何想法吗?

作为参考,我所指的"标准"HTML5地理位置代码是这样的(示例代码来自:HTML5中的基本地理位置):

<script type="text/javascript">
      if( navigator.geolocation )
      {
           // Call getCurrentPosition with success and failure callbacks
           navigator.geolocation.getCurrentPosition( success, fail );
      }
      else
      {
           alert("Sorry, your browser does not support geolocation services.");
      }

      function success(position)
      {
            // GeoPosition Object
           alert("Your coordinates are " + position.latitude + ", " + position.longitude);
      }
      function fail()
      {
           // Could not obtain location
      }
 </script>
Run Code Online (Sandbox Code Playgroud)

ros*_*oss 0

奇怪的。我做了 3 件事,现在它可以在两个手机浏览器(默认和 Chrome)中运行

  1. 我将主要代码放在一个调用的函数中<body onload="">
  2. 我重新启动了手机
  3. 我关闭了省电模式

我怀疑重新启动对此起到了最大的作用,因为我在 Chrome 中看到权限弹出窗口在屏幕上闪烁。