iOS6でスクロール中、geolocation.getCurrentPosition()も無視される気がするんですが?
Posted: Updated:
どうでしょう?
検証ページで、お試しいただきたい。自信ないからみんなで検証しよう!w
なんとなくファミコンの裏技並みなタイミングで微妙な再現方法ですが、iOS6のSafariで、バウンド含めて慣性スクロールが効いてる状態で、ボタンのtouchendを発生させて、navigator.geolocation.getCurrentPosition()
を実行させるという感じです。イベント自体はclick
(FastClickを含んでも可)でも何でも良いのですが、ここではお手軽にtouchend
としています。
正直、(ヾノ・∀・`)ナイナイって言ってしまいたいのですが、iOS6ってスクロール中のタイマーの件あるしな〜って。まだWebKitの実装コードまで降りてませんが、内部的にGPSの待ち受けにタイマー系と同じ処理走ってたら、、、とか思うとありえる話。
iOS6のgeolocationまわりって、<meta content="yes" name="apple-mobile-web-app-capable" />
とか、watchPosition
が腐ってるとかしか見かけてないので、ほんと自信ない。
- iphone - iOS 6 breaks GeoLocation in webapps (apple-mobile-web-app-capable) - Stack Overflow
- ios - IOS6 geolocation watchPosition Callbacks fail - Stack Overflow
例のタイマー用のfixと同じで、対策コードさえ用意すれば回避できそうなので、書いたら追記でシェアします。