先介紹下這個問題的由來:
上午其他專案組人員在rtx上問,求幫忙解決ie8兼容性問題,
然后快到飯點,知道這個bug肯定不是那么好解決,肯定不能耽誤吃飯時間,
果斷說,下午來弄,
下午3點開始去看這個bug,
具體問題就是:點擊修改按鈕報了缺少':',186行錯誤,
看了下他的代碼186行,是空白行,上下行,也并沒有:符號,這錯誤報的有點看不懂了,
不過這才有意思嘛,兩下三下就解決的bug,干起來多沒勁,
IE8真的很蛋疼,除錯起來特別麻煩,除錯模式開啟,找到報錯地方,‘treeselector’為慷訓不是物件,171行,
再定位到創建這個物件的地方,發現ie下就是創建不了這個物件,物件值為undefined,而chrome下卻可以正常創建,
Ext.create('Ext.ux.TreeSelector',{
......
});
而這個創建物件的方法是完全沒毛病,也看不出任何破綻,
就思考,創建物件為空,是不是Ext.ux.TreeSelector沒有加載出來導致的,
就在js檔案頭部require中加上‘Ext.ux.TreeSelector’,天真的以為這樣就可以解決了,去上個洗手間想著回頭來應該就沒啥問題,
回來被告知,還是報錯,整個頁面都打不開了,
然后報錯資訊出來了,報錯資訊:‘缺少':',186行,TreeSelector.js’;
因為reqiure預先加載了這個Ext.ux.TreeSelector這個js出來,所以這個js的錯誤就提前暴露出來了,
找到jar包中的這個js原始碼,發現186行,arr.push({id,name}); 這種寫法chrome下不會報錯,而IE8下會報錯,正確寫法arr.push({id:1,name:'xx'})
bug解決,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/176550.html
標籤:JavaScript
下一篇:vue-商品管理案例改進
