history.back()safariでjsを再ロードしないとどう解決しますか?
2587 ワード
iosの場合はまず判断して、location.hrefは位置を決めて帰ります.
最終解決方法:
ページを移動する前に、現在のページアドレスを書き換えます.
$("#backPrev").attr("href","javascript:void(0);").click(function(){
if (/(iPhone|iPad|iPod)/i.test(navigator.userAgent)) {
window.location.href = window.document.referrer;
} else { window.history.go("-1"); }
});
safariでいいと判断します if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
しかし、このようにすると、aページからbページに入り、bページからcページに検索し、cページに戻り、bページに入りますが、リンクしているので、bページはまだcページに戻ります.最終解決方法:
ページを移動する前に、現在のページアドレスを書き換えます.
$("#backPrev").attr("href","javascript:void(0);").click(function(){
if (/(iPhone|iPad|iPod)/i.test(navigator.userAgent)) {
changeCurrentUrl();
window.location.href = window.document.referrer;
} else { window.history.go("-1"); }
});
function changeCurrentUrl(){
var replaceUrl = window.location.href+"?i="+new Date().getTime();
history.replaceState(null,"",replaceUrl);
}