異常分析:
谷歌瀏覽器訪問正常,IE瀏覽器訪問部分圖片無法正常展示,查看控制台,輸入如下錯誤信息:
經分析,只有使用過圖片懶加載的地方圖片展示才有問題,那么就應該是圖片懶加載vue-lazyload這個組件在IE瀏覽器下不兼容了。
解決方法:
既然不兼容,暫時沒有其他比較好的替代方案,那就先對IE瀏覽器環境做特殊處理了。
由於我們是在標簽中通過v-lazy指令調用懶加載的,那么如果是IE瀏覽器環境,v-lazy這個指令就無法正常工作了,那就需要我們自己添加lazy指令,把v-lazy的value賦給標簽的src屬性就可以了,具體代碼如下:
//圖片懶加載 import vueLazy from "vue-lazyload"; var userAgent = window.navigator.userAgent; if(userAgent.indexOf('NET') != -1) { //ie瀏覽器不兼容懶加載組件處理 Vue.directive('lazy', function(el, binding) { el.src = binding.value }) } else { //實現圖片懶加載 Vue.use(vueLazy, { preLoad: 0.8, attempt: 3, loading: common.blankImg, listenEvents: ["scroll"], lazyComponent: true }); }