2016年5月7日土曜日

Chrome で位置情報が取得できなくなりました

Chromeで位置情報(GPS)がとれなくなりました


GW中に 一部のWEBサービスで位置情報がとれずいろいろ残念なことになりました
原因は Chrome V50 のアップデート
https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only

どうやら 非SSLページにおいては
HTML5 の navigator.geolocation が使えなくなったようです

あくまで 非SSLページでの話なので サイト全体ではなく使用ページのみ SSL化すればいいみたいです

SSL化といえども証明書代馬鹿になりませんよね
一応無料のSSL証明書も以下から取得できます

https://letsencrypt.org/

SSL証明書とかつらいひとは 以下のようにすればとりあえず開発はできます
(localhostは証明書なしでいいそうです)
chrome.exeのパス --user-data-dir=ユーザーデータディレクトリ --unsafely-treat-insecure-origin-as-secure="http://ドメイン"

例)
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=C:\Temp\Chrome --unsafely-treat-insecure-origin-as-secure="http://example.com"
batファイルにしておくと良いでしょう



user-data-dir

指定しないとダメなようです
一人用PCなら例のとおりでいいですが共有の場合は C:\ユーザー下のどこかが良いでしょう