当前位置:首页 » 《关于电脑》 » 正文

window History的pushState和replaceState方法

0 人参与  2024年03月28日 16:20  分类 : 《关于电脑》  评论

点击全文阅读


一、history.pushState(state, title[, url])

向当前浏览器会话的历史堆栈中添加一个状态。

参数:

state
状态对象是一个JavaScript对象,它与pushState()创建的新历史记录条目相关联。 每当用户导航到新状态时,都会触发popstate (en-US)事件,并且该事件的状态属性包含历史记录条目的状态对象的副本。状态对象可以是任何可以序列化的对象。 因为Firefox将状态对象保存到用户的磁盘上,以便用户重新启动浏览器后可以将其还原,所以我们对状态对象的序列化表示施加了640k个字符的大小限制。 如果将序列化表示形式大于此状态的状态对象传递给pushState(),则该方法将引发异常。 如果需要更多空间,建议使用 sessionStorage或者localStorage。title
在此处传递空字符串应该可以防止将来对方法的更改。url
新历史记录条目的URL由此参数指定。

示例:

 const url = `${window.location.origin}${window.location.pathname}?a=1`; window.history.pushState({}, "", url);

二、history.replaceState(state, title[, url])

参数: stateObj
状态对象是一个JavaScript对象,它与传递给 replaceState 方法的历史记录实体相关联.title
在此处传递空字符串应该可以防止将来对方法的更改。(一般忽略不写)url(可选)
历史记录实体的URL. 新的URL跟当前的URL必须是同源,否则 replaceState 抛出一个异常。 示例:
 const url = `${window.location.origin}${window.location.pathname}?a=1`; window.history.replaceState({}, "", url);

三、区别

共同点: 仅改变网址,网页不会真的跳转,也不会获取到新的内容,本质上网页还停留在原页面。不支持跨域问题,不能重写到另一个域名下。 不同点: pushState:
在历史记录中增加一条新的记录。replaceState:
将当前的历史记录给替换掉。

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/87270.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 你抬平妻我换夫:结局+番外(修文岚萱)_你抬平妻我换夫:结局+番外修文岚萱
  • (番外)+(全书)不必相逢:全书+番外+完本免费下载_(流萤谢长憬)不必相逢:全书+番外+完本(流萤谢长憬)免费
  • [男友将我的私密照以六元价格卖出后,他悔疯了]大结局_江承之沈清棠江声声小说精彩章节试读
  • 一念情深,一念婚烬:+后续+结局(傅青青卢振庭)_(傅青青卢振庭)一念情深,一念婚烬:+后续+结局列表_笔趣阁(傅青青卢振庭)
  • 再无明月高照:结局+番外(苏乐瑶周奕扬)全书苏乐瑶周奕扬结局_苏乐瑶周奕扬+结局列表_笔趣阁(再无明月高照:结局+番外)
  • 云间有座相思城:结局+番外独家出品(迟笙陆景琛)_云间有座相思城:结局+番外独家出品(迟笙陆景琛)
  • 完结文莫用爱囚我结局+番外创作编写列表_完结文莫用爱囚我结局+番外创作编写(傅寒深宋初雪)
  • 幽思燃烬忘川路:+后续+结局必读文(叶墨谨幽璃)_幽思燃烬忘川路:+后续+结局必读文叶墨谨幽璃
  • (番外)+(全书)周奕扬苏乐瑶(再无明月高照:全章+后续+结局)全书在线_周奕扬苏乐瑶免费列表_笔趣阁(再无明月高照:全章+后续+结局)
  • 自此流年守孤影:结局+番外笔趣阁(顾南宸江映棠)
  • 季铭穆婉(水自无情舟渡人季铭穆婉:结局+后续全面完结)免费在线_(水自无情舟渡人季铭穆婉:结局+后续全面完结)季铭穆婉免费精彩片段
  • 老公为了白月光把我丢入丧尸潮后续已完结_楚赫苏瑾苏苏情感冲突精选段落

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1