html5 – pushState:什么是状态对象?

我已经读了十几次,现在状态对象可能存在多个键|值对,并且它与新的历史记录条目相关联。
但有人可以给我一个国家对象的好处的例子。它的实际用途是什么?我无法想象为什么不只是输入{}

谢谢你减轻我黑暗的黑暗大脑

解决方法

拿这个小例子: run fiddle( editor view):

您有一个用户可以选择颜色的页面。每当他们做,我们生成一个新的历史条目:

function doPushState(color) {
    var state = {},title = "Page title",path  = "/" + color;

    history.pushState(state,title,path);
};

我们现在将状态对象留空,并将URL设置为颜色名称(不要重新加载页面 – 该URL不存在,因此您将获得404)。

现在点击一个红色,绿色和蓝色一次。请注意,URL更改。现在如果您点击后退按钮会发生什么?

浏览器确实回到了历史记录,但是我们的页面并没有注意到 – URL从’/ blue’改回’/ green’,但是我们的页面保持在’你选择了蓝色’。我们的网页与网址不同步。

这是window.onpopstate事件和状态对象是为了:

>我们在我们的状态对象中包含我们选择的颜色

function doPushState(color) {
    var state = { selectedColor: color },path);
};

>然后我们听popstate事件,所以我们知道什么时候我们必须更新所选颜色,哪个(在jQuery)是这样的:

$(window).on('popstate',function(event) {
    var state = event.originalEvent.state;

    if (state) {
        selectColor( state.selectedColor );
    }
});

尝试更新的示例:run fiddle(editor view):当用户浏览历史记录时,我们的页面现在将相应更新。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


h5页面是什么意思
html5复合选择器都有哪些
什么是html5响应式布局
h5页面制作策划怎么做
html5关系选择器有哪些
h5有哪些缓存机制
position中的sticky如何使用
h5页面制作用什么软件
h5链接怎么做
html5层次选择器有哪些
h5是什么意思
localstorage有哪些方法
h5怎么制作点击图标
h5怎么制作倒计时
h5怎么生成链接
h5表格边框怎么设置
h5兼容问题怎么解决
h5怎么做交互设计
h5怎么做进度条
h5怎么加链接