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()ってなんでもありだな・・・。