$(function(){
$('button').click(function(e){
e.preventDefault();
var nextUrl = 'page1.html';
var previousUrl = window.location.href;
$.get(nextUrl, function(data){
$('body').html(data);
history.pushState({content: data}, '', nextUrl); <--How to retrieve the content data
});
});
$(window).bind('popstate', function(e){
console.log(e.state.content);
//How do I get the data stored in pushState?
});
});
</script>
我已将整个页面信息存储在状态pushState({content:data}..
中,但如何在popstate
内检索它?
谢谢!
答案 0 :(得分:1)
你将在线下使用
window.history.state['content']
答案 1 :(得分:1)
当活动历史记录条目更改时,会在窗口上触发popstate事件。最常见的情况是单击浏览器后退或前进按钮(或执行对back()的调用,执行forward()或go())。
传递给侦听器回调的事件包含一个state属性,用于检索与历史记录条目关联的状态对象。
window.addEventListener('popstate', function(event) {
var state = event.state;
});
值得注意的是,对pushState()和replaceState()的调用不会触发popstate事件。
Chrome和Safari会在页面加载时触发popstate事件,但Firefox不会。