瀏覽器兼容及路由攔截

一、瀏覽器兼容

前段時間我寫的一個頁面,需要掛出去。得配多入口,多入口配完了掛出去,發現樣式都錯亂了,滾動條沒有或者高度壓根沒撐起來。后來問了后端,才知道掛出去的頁面是放在谷歌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()
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、什么是瀏覽器兼容問題所謂瀏覽器兼容問題就是指不同瀏覽器或同種瀏覽器不同版本對相同代碼解析效果不同,瀏覽器兼容問...
    cat_f503閱讀 923評論 0 1
  • 1,瀏覽器兼容問題一:不同瀏覽器的標簽默認的margin和padding不同問題癥狀:隨便寫幾個標簽,不加樣式控制...
    我的鐵錘妹妹閱讀 317評論 0 1
  • 市場上瀏覽器種類很多,不同瀏覽器的內核也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。瀏覽器內核主要分為兩種...
    wj_39ed閱讀 359評論 0 0
  • 一、 渲染引擎 市場上瀏覽器種類很多,不同瀏覽器的內核也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。瀏覽器...
    zerojs閱讀 204評論 0 0
  • 1.默認的內外邊距不同 問題: 各個瀏覽器默認的內外邊距不同 解決: *{margin:0;padding:0;}...
    sakatayui醬閱讀 381評論 0 0