首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问pushState状态对象内容

访问pushState状态对象内容
EN

Stack Overflow用户
提问于 2014-08-01 07:22:30
回答 2查看 1.3K关注 0票数 1
代码语言:javascript
复制
$(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中检索它呢?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-08-01 10:02:09

您将使用下面的代码行

代码语言:javascript
复制
window.history.state['content']
票数 1
EN

Stack Overflow用户

发布于 2014-08-01 10:07:56

当活动的历史记录条目改变时,在窗口上触发popstate事件。最常见的情况是单击浏览器的back或forward按钮(或者执行对back()、forward()或go()的调用)。

传入侦听器回调的事件包含一个state属性,该属性用于检索与历史记录项关联的状态对象。

代码语言:javascript
复制
window.addEventListener('popstate', function(event) {
  var state = event.state;
});

值得注意的是,对pushState()和replaceState()的调用不会触发popstate事件。

Chrome和Safari会在页面加载时触发popstate事件,而Firefox不会。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25070543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档