我有一个JavaScript函数加载非常惊人的页面。这是我的代码:
function getpage(url, write)
{
document.title = 'Loading Page... Please Wait...';
waitingDialog.show('Loading Page... Please Wait...');
setTimeout(function(){
$.get( url, function( response ) {
var newDoc = document.open("text/html", "replace");
newDoc.write(response);
newDoc.close();
if(write!=true)
{
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", url);
}
else
{
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", '/');
}
});
$("html, body").animate({ scrollTop: 0 }, "fast");
}, 10);
}
当用户点击我的在线购物网站上的产品时,它会显示加载模式。 并且用户的浏览器网址会动态地更改产品的链接。 但是当用户想要返回时,它无法正常工作。 我需要回顾历史和历史。 当用户想要前进或后退检测到后网址或转发网址时,请使用我的 getpage()功能加载此网址...
DEMO PAGE:https://shopnow.az/
答案 0 :(得分:0)
尝试
window.onpopstate = function (event) {
// change content
};
当用户按下后退或前进按钮时,将触发此事件。
答案 1 :(得分:-1)
尝试此功能:
function getpage(url, write)
{
document.title = 'Loading Page... Please Wait...';
waitingDialog.show('Loading Page... Please Wait...');
var flag = false;
window.res = null;
$.ajax({
url: url,
type: 'get'
}).done(function(response) {
flag = true;
window.res = response;
});
myInterval = setInterval(function() {
if(flag)
{
var newDoc = document.open("text/html", "replace");
newDoc.write(window.res);
newDoc.close();
if (write != true) {
window.history.pushState({"html": window.res.html, "pageTitle": window.res.pageTitle}, "", url);
}
else {
window.history.pushState({"html": window.res.html, "pageTitle": window.res.pageTitle}, "", '/');
}
$("html, body").animate({scrollTop: 0}, "fast");
clearInterval(myInterval);
}
},100);
}