js修改hash的方法

关键:

javascript 复制代码
window.onhashchange = (event) => {
  // do something
}

hash变化包括

  • js修改hash
  • 手动修改url的hash
  • 浏览器前进、后退

js修改hash:

javascript 复制代码
location.href = "#user";

在vue-router等路由组件中如何实现history模式呢?

关键函数:history.pushState

javascript 复制代码
docment.getElementById('btn1').addEventListener('click', function() {
	const state = {.name: 'page1' };
	console.log('切换路由到page1');
	history.pushState(state, '', 'page1');
})

// 监听浏览器前进、后退
window..onpopstate = (event) => {
	console.log('onpopstate', event.state, location.pathname);
}

注意,history模式需要注意需要后端配合!如果不做浏览器兼容性处理,在history模式下切换了路由,此时再刷新,会模式去找page1这个页面,导致找不到该页面。所以我们需要在服务器配置返回index.html,路由由history.pushState触发。

相关推荐
雪芽蓝域zzs6 小时前
第十节:动态侧边栏菜单(根据路由 meta 自动渲染菜单)
javascript·vue.js·elementui
吃好睡好便好6 小时前
判断函数的使用
学习·算法·matlab·生活·判断函数
2601_956121976 小时前
线性DP(入门)
c++·算法·动态规划
feilieren6 小时前
leetcode - 389. 找不同
算法·leetcode
挽星安6 小时前
2026/8/29
数据结构·算法
positive_zpc7 小时前
进阶数据结构图——最短路径(二)
数据结构·算法·图论·最短路径
ttwuai7 小时前
Go 后台管理系统组件库文档怎么写,才不会坑后续维护?
开发语言·javascript·golang
positive_zpc7 小时前
进阶数据结构图——最小生成树(一)
数据结构·算法·图论
码完就睡7 小时前
数据结构——遍历二叉树
数据结构·算法
evans在进步7 小时前
LeetCode 238 除自身以外数组的乘积:前缀积与后缀积详解
算法·leetcode·职场和发展