5

標準のHTML5ジオロケーションコードを使用すると、デスクトップブラウザ(Chrome、Firefox)でジオロケーションにアクセスできますが、Samsung Galaxy S3(デフォルトのブラウザ、Chrome)ではアクセスできません。デフォルトのブラウザでは、何も起こりません。Chromeでは、黄色の権限フォームが下部にポップアップ表示されますが、すぐにポップアップ表示されて何も押すことができません。[設定]で[場所]が有効になっていることを確認しました。JavaScript / HTML5ソリューションがこのように機能しなくなった場合のバックアップとしてPHPソリューションを探すことを検討していますが、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>
4

1 に答える 1

0

奇数。3 つのことを行った結果、両方の電話ブラウザー (デフォルトとクロム) で動作するようになりました。

  1. 呼び出される関数にメインコードを入れます<body onload="">
  2. 電話を再起動しました
  3. 省電力モードをオフにしました

クロムの画面全体に許可ポップアップが点滅していたので、再起動が最も効果的だったと思います。

于 2012-10-05T15:25:59.057 に答える