P粉7757887232023-08-28 09:08:27
部分的な答えはありますが、残念ながら完全な答えではありません。
まず、getCurrentPosition の デフォルト タイムアウト が infinite(!) であることに注意してください。これは、getCurrentPosition がバックエンドのどこかでハングした場合、エラー ハンドラーは 決して呼び出されないことを意味します。
タイムアウトを確実にするには、getCurrentPosition の呼び出しにオプションの 3 番目のパラメーターを追加します。たとえば、何が起こったかを尋ねるプロンプトが表示されるまでユーザーに 10 秒以内に待機させたい場合は、次のように使用します。 リーリー第二に、異なる環境ではまったく異なる信頼性を経験しました。自宅では、精度は悪いものの、1~2秒以内に折り返しの電話がかかってきました。 p>
しかし、職場ではかなり奇妙な動作の変化を経験しています。地理位置情報は一部のコンピューター (もちろん IE を除く) では常に機能しますが、他のコンピューターでは Chrome と Safari でのみ機能し、Firefox では機能しません (Gecko の問題?)。 、他のコンピュータは 1 回だけ動作し、その後故障します。このパターンは時間ごとおよび毎日変化します。 「幸運な」コンピューターを持っている場合もあれば、そうでない場合もあります。もしかしたら、満月の間にヤギを屠殺すれば助かるかもしれない?
これは理解できませんが、バックエンド インフラストラクチャは、この機能を推進するさまざまな愛好家向けの書籍や Web サイトで宣伝されている
よりもアンバランスであるのではないかと考えています。この機能がどれほど不安定であるか、エラー ハンドラーを適切に動作させるにはタイムアウト設定がどれほど重要かについて、もっと直接的に伝えてほしかったと思います。私は今日これらを生徒たちに教えようとしていたのですが、自分のコンピューター (プロジェクターといくつかの大きなスクリーン上で) が静かに失敗するという恥ずかしい状況に遭遇しましたが、約 80% の生徒はほぼ即座に結果を得ています。 (まったく同じワイヤレス ネットワークを使用します)。生徒たちもタイプミスやその他の間違いを犯し、私自身のコンピュータが故障した場合、これらの問題を解決するのは非常に困難です。