javascript - window.history.replaceState 中的 'data' 是什么

标签 javascript html

我们正在开发一个使用 window.history.replacestate 的项目。不幸的是,我们不太擅长 javascript。

本质上,我们使用它来替换任意数量的“根”链接的短链接。例如:

domain.com/fJfk8
domain.com/9dkDl
domain.com/fjgdD

都会“出现”为:

domain.com/nice_url

它不必工作,所以我们将把 javascript 放在页面中,然后在浏览器中它会很好,如果没有,他们会得到简码。

注意:我们想要历史!

所以我们只是使用:

window.history.replaceState('Object','Nice URL Title', '/nice_url');

问题是这似乎有效,但我们不理解“对象”(数据)部分。

它到底是什么?

最佳答案

您可以将 Object 参数设置为任意数据,这些数据将在 event 对象的 state 参数中可用,该参数可用于popstate 事件。

换句话说,您可以将其设置为任何您想要的,以帮助您在用户浏览其历史记录时将网页恢复到所需的状态。

有关详细信息,请参阅 MDC documentation on window.history .

window.history.replaceState({
    foo: 'bar'
}, 'Nice URL Title', '/nice_url');

window.onpopstate = function (e) {
    if (typeof e.state == "object" && e.state.foo == "bar") {
        alert("Blah blah blah");
    }
};

window.history.go(-1);

关于javascript - window.history.replaceState 中的 'data' 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7468119/

相关文章:

javascript - 计数器加速

javascript - 类型错误:无法读取未定义的 D3.js 的属性 '1'

javascript - 仅为第一个按钮添加处理程序

javascript - Jquery倒计时插件,日期来自Mysql数据库

html - 我创建了一个供个人使用的简单网站,但其中一个面板移动了

JavaScript/jQuery 谷歌风格网站预览

html - 为什么 <iframe> 中的 .txt 文件被下载而不是显示?

html - 是否可以在 css 3 中制作带有渐变的框箭头

javascript - 如何在等待 JS 加载内容后解析 HTML 页面?

html - html中 "maxlength"和 "size"属性的区别?