当前位置: 首页 > news >正文

网站建设销售在哪找客户网站域名多少钱一年

网站建设销售在哪找客户,网站域名多少钱一年,建设网站南沙,网站后台统计在 HTML5 的 History API 中,pushState 和 replaceState 方法也可以接受一个 state 对象作为参数。这些方法允许你在改变浏览器路由时不重新加载页面,并且可以附加一些自定义数据。 state 返回在 history 栈顶的 任意 值的拷贝。 let currentState h…

在 HTML5 的 History API 中,pushState 和 replaceState 方法也可以接受一个 state 对象作为参数。这些方法允许你在改变浏览器路由时不重新加载页面,并且可以附加一些自定义数据。

state

返回在 history 栈顶的 任意 值的拷贝。

let currentState = history.state;

结合router.push 方法来实现导航并传递状态

    router.push({path: '/xxx', state: {userId: '123', token: 'abc123'}});

存储和修改的状态对象

pushState

向浏览器的会话历史栈增加了一个条目。

pushState(state, unused)
pushState(state, unused, url)
  1. state:一个JavaScript对象,表示新的历史状态。这个对象可以包含任意的数据,用于保存页面的状态信息。
  2. title:新的历史记录的标题,但大多数浏览器忽略这个参数。
  3. url:新的历史记录的URL,可以是相对URL或绝对URL,但不能跨域。
history.pushState({page: 1}, "Page 1", "/page1");
// 这将添加一个新的历史记录,URL为/page1,状态对象为{page: 1}。
// 假设当前的 history.state 是这样的
const currentState = history.state || {};// 获取时间的值
const Time = time.value;// 创建新的 state 对象
const newState = {...currentState,  // 保留当前的 stateTime: Time ,
};// 使用 history.pushState 更新 state 并添加新条目
history.pushState(newState, document.title);

replaceState

使用状态对象和 URL 作为参数来修改当前的历史记录条目。

replaceState(state, unused)
replaceState(state, unused, url)
  1. state:一个JavaScript对象,表示要替换的历史状态,状态对象可以是 null
  2. title:新的历史记录的标题,但大多数浏览器忽略这个参数。
  3. url:替换后的URL,不能跨域。

使用demo

// 假设当前的 history.state 是这样的
const currentState = history.state || {};// 获取时间的值
const Time = time.value;// 创建新的 state 对象
const newState = {...currentState,  // 保留当前的 stateTime: Time ,
};// 使用 history.replaceState 更新 state 而不改变 URL
history.replaceState(newState, document.title);

锚点导航附带信息

function scrollToSection(sectionId, additionalData) {window.location.hash = sectionId;// 存储额外的状态信息window.sessionStorage.setItem(`section-${sectionId}-state`, JSON.stringify(additionalData));
}scrollToSection('#about-us', { timestamp: Date.now(), scrollPosition: window.scrollY });// 监听 hashchange 事件以恢复状态
window.addEventListener('hashchange', () => {const currentHash = window.location.hash.substring(1);const storedState = sessionStorage.getItem(`section-${currentHash}-state`);if (storedState) {const parsedState = JSON.parse(storedState);console.log('Restoring state for section:', currentHash, parsedState);// 执行相应的操作}
});

更多学习

History:pushState() 方法 - Web API | MDN

History:replaceState() 方法 - Web API | MDN

http://www.yayakq.cn/news/822349/

相关文章:

  • 建设公司网站的可行性研究大连开发区
  • wordpress 如何建站怎么增加网站的反链
  • 天河建设网站外包wordpress什么样子
  • 温州专业微网站制作电话android应用开发期末考试题
  • 北京个人做网站锡林郭勒盟建设工程造价管理网站
  • 免费试用网站制作南宁网站制作定制
  • 宜昌云网站建设淡水做网站
  • 网站侧导航兰溪做网站哪家好
  • 在浏览器上建设网站有什么教人做论文的网站吗
  • 阿里云医疗网站建设wordpress主题购物
  • 苏州城乡住房建设局网站网站开发可以开发哪些
  • 网站建设项目报告书杭州高端模板建站
  • 做网站时给网页增加提醒lol视频网站模板
  • 怎么用polylang做网站网络推广有
  • 做木材生意的外贸网站企业为什么要建设自己的网站
  • 红谷滩园林建设集团有限公司 网站上海青浦做网站
  • 网站建设与管理需要什么软件蛋糕店网页设计图片
  • 做网站需要提交wordpress新闻主题
  • 静态网站 搜索现在进出深圳最新规定
  • 广州黄埔建网站帝国cms和wordpress哪个更好
  • 完整网站开发教程外贸网站建设内容包括
  • 网站建设 dw金牛区建设审批网站
  • 专做企业的p2p网站凡科做的网站百度不到
  • 仿站在线有哪些关于校园内网站建设的法律
  • 罗永浩做的网站做卫浴软管的网站
  • 一级a做爰片免费网站国语好看的静态网站
  • 网站建设需要注意事项白名单查询网站
  • 甘肃城乡建设部网站首页重庆公司注册官网入口
  • 如何做背景不动的网站wordpress首页视频主题
  • 安微省住房和城乡建设厅网站国外做电商网站