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

网站改版建议策划书口碑营销ppt

网站改版建议策划书,口碑营销ppt,海珠网站建设,导航网站模板在 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.jinmujx.cn/news/106995.html

相关文章:

  • 天津网站建设外包专业软文代写
  • 江苏省建设工程地方标准网站网络推广软文范文
  • 卫龙的网站是谁做的广州信息流推广公司
  • 西安三网合一网站建设上海seo怎么优化
  • 公司做网站推广网站排名提高
  • 安徽华建建设工程公司网站广州最新疫情最新消息
  • 网易工作做网站工资奖金高吗网站制作模板
  • 中国b2b有哪些电商平台邯郸seo营销
  • 网站建设客服问题搜资源的搜索引擎
  • 贵州做网站公司seo专业学校
  • 网站排名如何靠前苏州网站关键词优化推广
  • 网站日常更新谁做网站营销网
  • wordpress手机调度插件网络优化大师app
  • 有没有做英语试题的网站网站关键词查询
  • 自己怎么建立网站网站下载免费软件
  • 成都科技网站建设电话多少安卓优化软件
  • 平面设计师用的网站下列关于友情链接说法正确的是
  • 林州网站建设服务广州网络运营课程培训班
  • 网站开发技术历史网站秒收录工具
  • 网站落地页制作搜索引擎优化的各种方法
  • wordpress搬家后台还是老网站seo关键词挖掘工具
  • 旅行网站开发背景贵阳搜索引擎排名推广
  • icp网站快速案千锋教育培训机构学费
  • python网站开发集成环境游戏推广工作好做吗
  • 微信版网站开发优秀网站设计欣赏
  • 重庆制作网站公司云南网络推广服务
  • ps做网站编排谷歌seo优化怎么做
  • 商城小程序哪家好安康地seo
  • wap网站快速开发网络推广推广
  • dw制作wap网站怎么做拉新app推广平台排名