iPhone ウェブクリップ時のページ遷移

iPhoneやiPadはwebサイトをホーム画面に追加するというウェブクリップの機能がついていて、webアプリケーションはウェブクリップ前提で作られることもある今日この頃。

ウェブクリップしたサイトに、以下のようなmetaタグがあるとブラウザのメニューやらアドレスバーやらが出なくなるのでネイティブアプリっぽく動作する。

<meta name="apple-mobile-web-app-capable" content="yes" />

が、この時にaタグなどのリンクを開いてしてしまうと、わざわざsafariが開いてしまうという残念な状況に陥ってしまう・・。

なので、location.hrefで遷移したときはなぜかsafariが開かなくなるので、以下のようにaタグの遷移を全てlocation.hrefの書き換えに上書きしてしまおう。

$(document).on('click', 'a', function(e){
  e.preventDefault();
  location.href = $(this).attr('href') ;
  return false;
});

preventDefault()ってなんでもありだな・・・。

タイトルとURLをコピーしました