繁体   English   中英

将当前js对象保存在history.pushState中

[英]Save current js object in history.pushState

我试图将我当前的js对象保存在历史记录中。

history.pushState($(this)[0],'List',window.location.href);

但是我出错了

DataCloneError: The object could not be cloned. history.pushState($(this)[0],'List',window.location.href);

https://developer.mozilla.org/en-US/docs/Web/API/History_API

状态对象可以是任何可以序列化的对象。 因为Firefox将状态对象保存到用户的磁盘上,以便用户重新启动浏览器后可以将其还原,所以我们对状态对象的序列化表示施加了640k个字符的大小限制。 如果将序列化表示形式大于此形式的状态对象传递给pushState(),则该方法将引发异常。 如果您需要更多空间,建议您使用sessionStorage和/或localStorage。

因此,您正在使用JSON.stringify序列化数据。

 history.pushState(JSON.stringify($(this)[0]),'List',window.location.href);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM