InjectSmartphonePropertyはデスクトップ版SafariにMobile Safariと同様のプロパティを設定するSafari機能拡張です。

Mobile Safariとデスクトップ版Safariは同じSafariですが、やはり多少違います。幾つか実装されているプロパティが異なります。そこを補正してくれるSafari機能拡張がInjectSmartphonePropertyです。


インストールします。


設定でInjectSmartphonePropertyを適用するURLを指定できます(正規表現)。


適用前。全てundefinedです。


適用後。nullまたは0が入っています。

InjectSmartphonePropertyは正規表現でマッチしたURLを表示するタイミングでwindow.ontouchstart、window.ontouchmove、window.ontouchendにnullを、window.orientationに0を設定します。これらのプロパティ値を使って対応判定をしているWebサイトへのアクセスもできるようになるという寸法です。

InjectSmartphonePropertyはSafari用のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

MOONGIFTはこう見る

InjectSmartphonePropertyはmobageの神撃のバハムートというゲームを遊ぶのに使えるようです。つまりこのゲームはwindow.ontouchstartなどの設定があるかどうかをスマートフォンか否かの判定に使っているということです。これは意外と面白い方法です(判定はざるですが…)。

かつてガラケーが主流だった時代にはIPアドレスレベルでフィルタリングがされており、各携帯電話がキャリアのプロキシからアクセスする限りどうしようもありませんでした。今後WiFi経由のネットワークが増えていく訳で、その際のブラウザ判定はとても困難なものになりそうです(個人的にはそもそもフィルタリングが無意味と考えていますが)。

pokutuna/safari_inject-smartphone-property · GitHub