PJAXの実装にあたり、ブラウザの「戻る」「進む」に対応させたいのですが、
履歴情報を「指定した通り(文末に記載)」に取得するにはどうしたらいいのでしょうか?
具体的には、下記の最後の方にある「// どうやって取得するのか?」がわかりません。
jquery
1// PJAXさせる関数 2function my_pjax1(url) { 3 $.ajax({ 4 type: 'GET', 5 url: url, 6 dataType: 'html' 7 }) 8 .done(function(data) { 9 // 取得 10 var contentItems = $(data).find('#main'); 11 // 追加 12 $('#main').html(''); 13 $('#main').html(contentItems); 14 // 履歴 15 history.pushState('', '', url); 16 }) 17 .fail(function () { 18 alert('error'); 19 }); 20} 21 22// PJAX実行(「ページ内のリンク」をクリックした場合) 23$(document).on("click","a.ajax", function(e){ 24 e.preventDefault(); 25 var url = $(this).attr('href'); 26 my_pjax1(url); 27}); 28 29// PJAX実行(「戻る」「進む」をクリックした場合) 30window.addEventListener("popstate", function() { 31 var url = ; // どうやって取得するのか? 32 my_pjax1(url); 33});
上記の「// どうやって取得するのか?」では、次のような複雑な指定による取得が必要かと思うのですが、みなさんどうされているのでしょうか?
■「戻る」のときに取得する履歴
→同じドメインで、現在のURLの1つ前の履歴を取得する。
■「進む」のときに取得する履歴
→同じドメインで、現在のURLの1つ後の履歴を取得する。
具体的な方法をご存知の方がいらっしゃいましたら教えて頂きたく思います。
どうぞ宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー