微信小程序 image bindload 事件不触发,图片加载不出来

发布时间:2024年01月19日

问题:

当小程序图片页面反复跳转时,或者微信打开小程序页面之后,处于后台运行。

图片加载不出来,我图片加载是通过bindload事件不判断是否下载完成再显示。但是现在bindload不触发,一直显示加载层。

分析:

其原因就在于,小程序的优化机制,多次加载同一张图片,往往会从缓存中读取,而不是从网络下载,这就导致 bindload 事件不会触发了。

?

解决:

?前端加载图片url的时候,在后面加一串随机数,这样小程序每次都会认为是新图片,不会从缓存中读取了。这个方法简单,就是会浪费一些性能和流量。

.wxml?

 <view class="item-left">
    <image src="/images/mall/loading.gif" class="loading-img" hidden="{{imgShow}}"></image>
    <image fade-in mode="aspectFill" show-menu-by-longpress src="{{imgsrc}}" class="product-img br16"
           hidden="{{!imgShow}}" lazy-load data-imgsrc="{{imgsrc}}"
           data-index="{{itemIndex}}" bindload="handlePictureLoadEvent"></image>
  </view>

.js?

 imgsrc =`${imgsrc}?t=${Math.random()}`//防止触发图片load事件失败
       

文章来源:https://blog.csdn.net/LlanyW/article/details/135691133
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。