人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下、Firefox 3.5で試しています。
geolocation APIで偽装位置取得を防ぎたいと思い調査しているのですが、
javascript:(function(){navigator.geolocation.getCurrentPosition=function(cb){alert('abc')};})();
上記のようなBookMarkletを用意し、http://mozilla.jp/firefox/features/geolocation/の位置取得機能デモページを実行すると、実行後しばらくは乗っ取りが成功し、位置を取得しようとするとアラート「abc」が表示されます。
が、ブラウザリロード等をしなくても、10秒も立たないうちに、元の位置取得機能が動作するようになります。

これは、どういう原理で元に戻っているのでしょうか?
また、その原理を利用して、navigator.geolocation.getCurrentPositionが乗っ取られないことを保証するような施策はありますでしょうか(意図的に、その修復機構を実行させる、みたいな)?
教えていただければ幸いです。

●質問者: 元ここギコ!
●カテゴリ:インターネット ウェブ制作
✍キーワード:ABC API Bookmarklet CB firefox
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pahoo
●60ポイント

Ajaxによる非同期通信によって実現できます。

つまり、下記の1?3を無限ループすることで実装します。

  1. サーバからの応答(位置情報)を受信
  2. クライアント側で一定時間待機する(この場合は10秒程度)
  3. サーバへ再リクエストを投げる

非同期通信によるファイルの取得」が参考になるでしょう。

◎質問者からの返答

自己解決いたしました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ