异常分析:

谷歌浏览器访问正常,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
    });
}

 

转载于:https://www.cnblogs.com/xyyt/p/8609942.html

Logo

前往低代码交流专区

更多推荐