發現問題
前幾天寫的一段Vue,在ie下一片空白,f12顯示script1003: expected :
。于是就有了這篇文章...
解決過程
baidu、google之,說是json最后一項有多余的逗號,例如
{ a: 5, b: 4, // 最后一項不能有逗號}
檢索修正所有js文件不表,然而情況依舊。。。
沒辦法了,祭出無敵睿智debug技巧: 全文注釋掉,再一行一行解掉注釋,終于定位到bug位置: 一個自定義右鍵菜單的插件(v-contextmenu)有問題。。。
繼續先前的睿智debug技巧,終于發現,好幾個bug。。。
該插件下,所有對象最后一項都有逗號,導致在ie下不兼容
{ a: 5, b: 4, // 這個逗號要刪除}
該插件的export default語法與ie不兼容(更多關于export default的用法參考這篇文章://www.49028c.com/article/108418.htm)
// ie下不支持這種語法export default { bind() {}}// 必須在外面定義 function bind() {} 然后export default { bind: bind}// 特別告誡,下面這種語法在ie中也是不支持的export default { bind}
最重要的,這個插件在一個很隱蔽的地方有這么兩行代碼
if(condition) { someArray.push({ a, b })} else { anotherArray.push({ a, b })}
而{ a, b }這種語法是ie不支持的,必須改成{ a: a, b: b }
一個上午就這么浪費了,你以為我要噴這個插件?我想說,誰用ie誰是狗🐶
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。
新聞熱點
疑難解答