🧊

続・apple-mobile-web-app-capableの挙動について

昔(2013年の9月)、こういう記事を書きました。

参考: apple-mobile-web-app-capableの挙動について

で、久々にどうなったかなーと思って試してみたんですけど、また仕様が変わってるっぽくて・・。
というのをメモ。

iPhone5s x iOS7でチェック。

前回調べた時点での挙動

いったんstandaloneモードになってしまえば、

  • ドメインは、"aタグで遷移しても継続できる"
  • ドメインであっても、location.hrefで飛ばせば継続できる
  • ドメインへのaタグは、継続できない

って感じでした。

今回調べた時点での挙動

いったんstandaloneモードになってしまえば、

  • ドメインであっても、location.hrefで飛ばせば継続できる
  • ドメインでも、"aタグで遷移すると継続できない"
  • ドメインへのaタグは、継続できない

って感じに。
さらばaタグ。

つまり

以下の表で、 o のパターンなら継続できる模様。

  ドメイン ドメイン
aタグ x x
location.href o o

standaloneモードにするなら、ページ遷移は全部jsでがんばれという話ですね。

まあ仕様が変わったっていうか、元からそういう仕様だった気がする。
去年がたまたま変な時期やったってだけで。

location.href での遷移なら、別ドメインにとんでも継続する!おっけー!って、
帰ってこれないからまったく意味ないですね。

すごく適当に書いたコードスニペット

if (window.navigator.standalone) {
  $('a').on('touchend', function(e) {
    e.preventDefault();
    location.href = e.target.href;
    return false;
  });
}

これで通常はaタグで、mobileでstandaloneのときはlocationで、ってできますね。

その他気になる点

  • iOS7いいねポイントである、「スワイプでブラウザバック」が効かない(そらまあjsでやってるし)
  • ステータスバーのスタイルいじるmetaタグ、iOS7では効かない?表示が変?

結論

やっぱコレあんまり好きくないわー。