vue+element +IE問題大彙總!

先來看看問題! 

  1. 看看有沒有get請求??爲啥把他放首位呢?當然是他最坑啊!!
  2. el-dialog body中IE會默認居中
  3. 在IE兼容模式有的二級頁面下的模態框會顯示不全
  4. IE是不能滿足flex佈局的,但是有種方法讓他支持\(^o^)/~

解決方案 :

1、問題:看看有沒有get請求?

 解決:兩次get請求 url和參數一樣的情況下IE會緩存返回結果,造成真實數據被替代!

所以,需要在get請求的請求頭加唯一標識。

參照我封裝的get請求直接引用即可,記得判斷get多個參數的時候哦!

//axios封裝
import axios from 'axios'
const qs = require("qs"); //將數據轉成表單

//get方法封裝
export function get(url, params) {
  return new Promise((resolve, reject) => {
    //隨機36位碼
    let s = [];
    let hexDigits = "0123456789abcdef";
    for (let i = 0; i < 36; i++) {
      s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4";
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
    s[8] = s[13] = s[18] = s[23] = "-";
    var num_only = s.join("");
    let url2 = ''
    if(url.indexOf('?')!=-1){
      url2=url+'&p='+num_only
    }else if(params==''||params==undefined){
      url2=url+'?p='+num_only
    }else{
      url2=url+'&p='+num_only
    }
    axios.get(url2, {
        params: params
      })
      .then(res => {
        if(res.data.code == 1000){
          Message.error(res.data.msg)
          router.replace({
            path: '/',
          });
        }else{
          resolve(res);
        }
      })
      .catch(err => {
        if (err.response) {
          Message.error('系統錯誤')
         } else {
          Message.error('網絡錯誤');
         }
      })
  });
}

2、問題:el-dialog body中IE會默認居中

解決:

  •  style="width:100%"
  •  style="float:left"

3、問題:在IE兼容模式有的二級頁面下的模態框會顯示不全 

解決:加入加粗字體即可

<el-dialog title="修改密碼" :visible.sync="passwordModal" :close-on-click-modal='false' :append-to-body='true'

 width="400px" center>

</el-dialog>

4、問題:IE是不能滿足flex佈局

解決:加入float: left;即可

舉個例子:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章