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

网站改版建议策划书拼多多运营

网站改版建议策划书,拼多多运营,在哪网站可以做农信社模拟试卷,163企业邮箱费用在 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.tj-hxxt.cn/news/9113.html

相关文章:

  • 对外贸易企业网站建设流程河南网站建设
  • 西安网站seo 优帮云整站优化seo公司哪家好
  • 网站建设是什么查关键词排名软件
  • 嘉兴企业网站模板武汉推广服务
  • 中文网站建设技术解决方案google优化排名
  • 百度网站官网怎么做友妙招链接怎么弄
  • 钟表商城网站建设方案合肥网络关键词排名
  • 电子商务网站建设方seo优化好做吗
  • 怎么才能建立一个网站常见的网络营销策略都有哪些
  • 东乡网站建设景德镇seo
  • 济宁做网站优化常用搜索引擎有哪些
  • 做彩票网站代理杭州百度快照优化排名
  • 没有网站做推广考拉seo
  • 海南省建设执业资格注册管理中心网站上海百度推广公司排名
  • 网站总体结构百度一下首页百度
  • 免费网站代理怎么seo快速排名
  • 做视频网站需要多少钱网络营销师证书需要多少钱
  • 个人做外贸的网站seo标题优化是什么意思
  • 杭州建设网站公司seo自动点击排名
  • 泰兴网站制作百度关键词搜索排名统计
  • 漳州专业做网站个人网站制作流程
  • h5免费制作平台易企秀网页版苏州旺道seo
  • 佛山大型的网站制作杭州搜索推广公司
  • 设计网站推荐外网seo网站优化培训怎么样
  • 日本雅虎网站开发客户怎么点百度优化
  • 用树莓派做网站服务器seo 优化公司
  • 东莞建设工程交易中心网站网络推广优化培训
  • 深圳精品网站建设获客引流100种方法
  • 企业网站的制作原则东莞疫情最新消息今天新增病例
  • 网站建设的公司哪家好今日油价92汽油价格