IE地址栏发生改变,页面没有刷新而保留在原页面的解决方法
2020-02-02 14:34
786 查看
vue项目里,一般浏览器在地址栏的地址发生变化时,页面都会刷新,但是在IE浏览器上页面会保持在原页面,并没有刷新。原因是IE对onhashchange事件不支持,所以在路由发生变化时,并没有触发这个事件。
解决方法
在App.vue中的mounted钩子函数里手动添加这个事件的监听
mounted(){ if(!!window.ActiveVObject || 'ActiveVObject' in window){ window.addEventListener('hashchange', ()=>{ let currentPath = window.location.hash.slice(1) if (this.$route.path !== currentPath) { this.$router.push(currentPath) } }, false) } }
另,在IE上开启兼容性视图设置后,vue项目无法正常显示,只会显示白屏
解决方法
在src目录下index.html文件里,最开头的位置添加一行代码,说明使用IE最高标准渲染该项目
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
可以强制使用Chrome渲染页面
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
记录最近遇到的IE兼容问题。。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- smarty中,如果改变模板,刷新页面没有变化,该如何解决?
- vue 数组元素(data)发生改变没有跟新到(view)解决方法
- ASP 点击控件刷新后页面样式发生变化后台实现解决方法
- IE中页面无法刷新,方法不执行的解决办法
- [转]IE点击链接没有反应或打开新窗口出现一个空白框(地址栏空白)的解决方法
- ASP.NET页面刷新样式改变解决方法
- asp.net 页面刷新后样式改变,解决方法
- vuex页面刷新数据不保留,解决方法(转)
- 2、vuex页面刷新数据不保留,解决方法(转)
- [转]IE点击链接没有反应或打开新窗口出现一个空白框(地址栏空白)的解决方法
- 无刷新修改页面的浏览器地址栏显示地址的方法
- Webstrom 20163.3刷新页面一直提示未授权的解决方法
- vs2008与IIS 7.0使用在vista上时出现的问题及解决方法(Internet Explorer 无法显示该页面)(VS2008: IE Cannot Display Web Page)
- 使用ajax实现无刷新改变页面内容和地址栏URL
- 不刷新页面改变验证码的两种方法
- Iframe刷新ie进度条不结束的解决方法
- window.showModalDialog();会弹出当前页面脚本发生错误部分解决方法
- spring jquery Mobile 页面跳转后浏览器url未改变&&javaScript代码刷新后才能执行的问题解决
- 关于form页面刷新重复提交的解决方法
- 禁用页面缓存的终极解决方法,适用于(IE/FireFox)