浏览器兼容及路由拦截

一、浏览器兼容

前段时间我写的一个页面,需要挂出去。得配多入口,多入口配完了挂出去,发现样式都错乱了,滚动条没有或者高度压根没撑起来。后来问了后端,才知道挂出去的页面是放在谷歌49版本的浏览器上的,要知道现在谷歌都一百多版本了。。。浏览器不兼容!这可愁坏我了!后来经过排查发现是:
diaplay布局,使用height 100%无效导致的

原因:猜测谷歌49浏览器可能只识别父元素定的height样式

解决:给每一层的容器都加上display:flex;flex:1;height:100%.,包括组件里的一些容器。坚持一层一层加。如果还是没有撑起来,那一定时哪一层漏了。从源头开始加(高度断开的那一层)

二、路由拦截

有这样一个需求,在路由离开时要弹出未保存提示,刚好我退出路由的方法是这样写的

this.$route.go(-1)

拦截的方法这样写的

  // 此处省略一点逻辑
  beforeRouteLeave(to, from, next) {
    if (result) {
         next()
       {
  },

用这种方法出现了一个问题,页面已经离开了之后,提示才弹出来。也就是说路由没拦截到
解决:老老实实用push方法

 this.$router.push()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、什么是浏览器兼容问题所谓浏览器兼容问题就是指不同浏览器或同种浏览器不同版本对相同代码解析效果不同,浏览器兼容问...
    cat_f503阅读 994评论 0 1
  • 1,浏览器兼容问题一:不同浏览器的标签默认的margin和padding不同问题症状:随便写几个标签,不加样式控制...
    我的铁锤妹妹阅读 341评论 0 1
  • 市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。浏览器内核主要分为两种...
    wj_39ed阅读 380评论 0 0
  • 一、 渲染引擎 市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。浏览器...
    zerojs阅读 229评论 0 0
  • 1.默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;}...
    sakatayui酱阅读 415评论 0 0

友情链接更多精彩内容