T-01A単体でPlaceEngineの位置登録(GPSログではなく「位置を教える」ボタン)ができない問題(※)の調査。
※:厳密には、ブラウザからPlaceEngineクライアントが認識できない問題。だが、現在位置取得はPlaceEngineクライアントから起動すれば初回は可能なので、ここでは位置登録不能問題ということにしておく。
最初、位置登録の通信内容を調べてツールから登録できないかと思ってWiresharkでプロトコル解析するもクッキーとかからんでて無理っぽい。
次にDragonflyでリモートデバッグしたところ、どうもappendChildで追加したJavascript呼び出しが効いてないっぽい。
原因はセキュリティ対策のためクロスサイト(クロスドメイン)アクセスが制限されたことにより、異なるドメインであるPlaceEngineクライアントへのアクセス(127.0.0.1:5448)が蹴られたことだった。
何か対策がないかと思い、設定項目を見ていると「Allow Cross Domain Access」というそのものズバリの項目を発見。
ここで、PCのOperaでも原因が同じではないかと思い、調べるとやはりそうだったので先にそちらの対処を行う。
PC(Opera 11.01)では項目名が「Allow Cross Network Navigation」と少し違ったが、これをONにするとPlaceEngineが使えるようになった。
ただ、何故かPlaceEngineクライアントに「不正なアプリケーション」と警告されてしまう。
ドメインをまたいで情報が引き渡せないためだろうか?
それはさておき、PCの方はうまくいったので今度はT-01A…が、こちらはダメだった。
「Allow Cross Domain Access」をONにしてもクロスサイトアクセスができない。ぐぬぬ。
もはやこれまでか…。最後にダメ元で期限切れ?のNetFrontで試すことにした。
…あれ?普通に起動するんだが。しかもバージョン情報を見るとどうも試用版じゃないぞ?
どうやら私の勘違いで、T-01Aには最初からNetFrontがプリインストールされていた。
そしてNetFrontは何も設定をしなくてもクロスサイトアクセスが可能だったのであっさりPlaceEngineクライアントを認識した。
めでたしめでたし。
結論:T-01AでPlaceEngineを使う場合、ブラウザはNetFront。