我有这段代码:
var idRetorno = null;
var link = null;
function handler()
{
if(this.readyState == this.DONE) {
if(this.status == 200)
{
$('#'+idRetorno).html(this.responseText);
window.history.pushState('', '', link);
}
}
}
function link_ajax(linkp, idRetornop)
{
idRetorno = idRetornop;
link = linkp;
var client = new XMLHttpRequest();
client.onreadystatechange = handler;
client.open("GET", link);
client.setRequestHeader('X-Requested-Header', 'XMLHttpRequest');
client.send();
}
我的应用程序中的所有内容在单击链接时调用函数link_ajax,我尝试使用
更新URLwindow.history.pushState('', '', link);
但是,后退按钮历史记录无法正常工作,页面仍然相同。 我不能在Url中使用哈希(#color:red exemple),因为这是应用程序的要求。还有其他解决方案吗?
答案 0 :(得分:0)
您是否使用onpopstate检测到页面状态已更改?
window.onpopstate = function(event) {
alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};