###前提・実現したいこと
現在apple-mobile-web-app-capableを利用し、ウェブサイトをスマホのホーム画面に追加した際にアプリ風に見せるUIの実装をしています。
しかし、ホーム画面に追加したサイトを再起動すると前回アクセスしたページに行かず、必ずリロードされ、トップページに飛んでしまいます。
例えば、TOPページ→Aboutページに飛んで一旦アプリを中断してホームスクリーンに戻り、またアプリを立ち上げるとAboutページには行かず、TOPページに戻ってしまうという状況です。
そのため、アプリを再起動したときに前回アクセスしたページを開くことが出来るように改良したいと考えています。
###該当のソースコード
ex.js
1 // 現在のURL取得 2 var href = window.location.href; 3 // localstorageに保存されているURL(link)が現在のページURLと異なる、又は値が存在しない場合現在のURLを保存する。それ以外は保存されたURLを取得する。 4 if (href != localStorage.getItem("link") || !localStorage.getItem("link")) { 5 localStorage.setItem("link", href); 6 var current = localStorage.getItem("link"); 7} else{ 8 var current = localStorage.getItem("link"); 9} 10 11 //現在のURLと最後にアクセスしたリンク(current)が異なる場合、currentにリダイレクトする 12 if (href != current ) { 13 var redirect_url = current + location.search; 14 //前のページの値を渡す(Google Analytics対策) 15 if (document.referrer) { 16 var referrer = "referrer=" + encodeURIComponent(document.referrer); 17 redirect_url = redirect_url + (location.search ? '&' : '?') + referrer; 18 } 19 location.href = redirect_url; 20 };
###試したこと
下記補足情報のサイトに記載されている方法として、localstorageを使用して前回アクセスした記録を保存し、アプリ再起動時に前回のアクセス記録を呼び出すという方法で上記のコードを記述したのですが、上手く動きません。
上記コードの改善点、又は他のアイディアがあればご教示いただけますと幸いです。
追記(上手く動かない点について):
アプリで再起動した時に以下のように出力され、currentの変数に格納されているURLへリダイレクトするようにしたいです。
href (現在アクセスしているURL)
http://example.com/index.html
current (local storageに保存された最終アクセス時のURL。)
http://example.com/about.html
しかし、現在index.htmlにアクセスすると以下のように表示され、上手く動きません。
href (現在アクセスしているURL)
http://example.com/index.html
current (local storageに保存された最終アクセス時のURL)
http://example.com/index.html
回答2件
あなたの回答
tips
プレビュー