收藏
回答

非循环gif只能够播放一次,重载此gif时直接显示最后一帧(不会重新播放一遍)

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 6.6.5 1.9.94

- 当前 Bug 的表现(可附上截图)

非循环的gif图片只在第一次载入gif时能够播放,当想要实现【某个事件触发时gif就播放一次(过场动画或交互等)】时,会发现只有第一次触发能看到gif效果,通过n种方法重载gif都不能够让其自动播放


- 预期表现

当非循环的gif第二次被设置时,应该从头播放至结束


- 提供一个最简复现 Demo

<view style='width:750rpx;height:1334rpx;background-image:url({{gif}});background-repeat:no-repeat;background-size:100%' bindtap='reloadGif'></view>
Page({
  data: {
    gif:'rainy.gif'                  //不循环播放的gif
  },
  reloadGif:function(){
    var that = this
    this.setData({gif:''})
    console.log(this.data.gif)       //显示切换为空路径
    setTimeout(function(){           //一秒后应该重新播放原gif
    that.setData({gif:'rainy.gif'})
    console.log(that.data.gif)       //显示切换为原gif
    },1000)
  }
})

如上,按照程序设定,点击gif,1s之后应该重新播放gif,但并没有重新播放

回答关注问题邀请回答
收藏

7 个回答

  • 楊
    09-12

    把GIF复制十张 想办法互动十次 反正这年头存储空间不值钱QAQ

    09-12
    有用
    回复
  • Alex
    Alex
    发表于小程序端
    2021-10-10

    可以试试一个以类似触发bug的方式解决,打开小程序,然后关掉小程序,再打开就可以是你想要的效果了,具体原理我也还在研究中…

    2021-10-10
    有用
    回复
  • 神经蛙
    神经蛙
    2021-05-18

    这个问题没解决吗

    2021-05-18
    有用
    回复 4
    • 神经蛙
      神经蛙
      2021-05-18
      已找到方案,在gif后面拼接时间戳,例 test.gif?1621299040758
      2021-05-18
      回复
    • Faithful
      Faithful
      2023-04-21回复神经蛙
      您好,真机调试出不来,你那边有这种情况吗
      2023-04-21
      回复
    • 南山客
      南山客
      05-23回复Faithful
      一年多了这个问题解决了吗
      05-23
      回复
    • 南山客
      南山客
      05-23回复Faithful
      我也遇到了这个问题,真机出不来
      05-23
      回复
  • 阿sir
    阿sir
    2018-12-25

    现在有没有解决方案  微信修复了吗


    2018-12-25
    有用
    回复
  • 2018-11-22

    楼主解决了吗  我也遇到这个问题了

    2018-11-22
    有用
    回复
  • 蒲公英的种子,飘吧💏 👋
    蒲公英的种子,飘吧💏 👋
    2018-11-07

    我也遇到了这个问题,如果有解决方法,望分享一下

    2018-11-07
    有用
    回复
  • 孙少林
    孙少林
    2018-05-07

    你们的这个问题怎么解决的啊


    2018-05-07
    有用
    回复
登录 后发表内容