问题
最近测试发现了一个bug,测试用的是win7系统,用ie11浏览器打开项目,点击页面返回按钮到上一个路由的时候不生效?
但是,我用的是win10系统,用ie11浏览器打开项目返回是正常的。
使用的"vue-router
": “^3.0.1
”
解决方案
可以统一写成一个js文件,然后在每个单页的App.vue文件里混入进去
// 单页的App.vue文件里混入进去hashchangeMixin import { hashchangeMixin } from '@/assets/js/hashchange.js' export default { mixins: [hashchangeMixin] }
// 统一处理 vue-router 在IE下不跳转问题 单独的hashchange.js文件 export const hashchangeMixin = { mounted () { if (this.checkIE()) { window.addEventListener('hashchange', () => { let currentPath = window.location.hash.slice(1) if (this.$route.path !== currentPath) { this.$router.push(currentPath) } }, false) } }, methods: { // 是否是IE checkIE () { return ( '-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.style ) } } }