收藏
回答

图片重加载显示[wxgl] load image fail

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小游戏 Bug wx.createImage 客户端 iOS 6.7.0 1.9.0


我在小游戏写了测试断网重加载图片的功能,在调用下列代码的时候断网:

let image = wx.createImage();
image.src = url;
image.crossOrigin="Anonymous";

图片会加载失败,然后我加了重试机制,恢复网络后对加载失败的图片重新用上面的代码加载一次,在开发者工具上图片是加载成功且正常显示,但是在真机测试的时候发现恢复网络图片仍然加载失败,显示了下面的错误:


然后我试着给重加载的图片的url加了个随机字符串参数:

```
let image = wx.createImage();
if (!src.includes('data:image')) {
   if (src.includes('?')) {
       url += '&t=' + Math.random();
   } else {
       url += '?t=' + Math.random();
   }
}

image.src = url;

image.crossOrigin = "Anonymous";

```

然后在真机就重加载成功了,请问这个是什么问题呢?是不是和缓存有关?

最后一次编辑于  2018-07-02
回答关注问题邀请回答
收藏

3 个回答

  • 熊
    2018-07-04

    下图这样写会报错:


    下图这样写就不会报错了:



    名称前面不能写绝对或相对路径的符号

    2018-07-04
    有用 1
    回复 1
    • William·D·King
      William·D·King
      2018-07-04

      但我是用得远程路径,https://开头的

      2018-07-04
      回复
  • 白开水
    白开水
    2018-08-10

    请按照指引(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),提供能复现问题的代码片端,我们以便定位问题。

    2018-08-10
    有用
    回复
  • Aaaay
    Aaaay
    2018-07-02

    因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存,所以使用URL+随机数的作用就是避免游览器缓冲JS

    2018-07-02
    有用
    回复 1
    • William·D·King
      William·D·King
      2018-07-02

      那这个问题什么时候能修复,按理说一开始加载失败的图片不应该有缓存的,后面用相同的url重新加载也不应该失败。。。。

      那这个问题什么时候能修复,按理说一开始加载失败的图片不应该有缓存的,后面用相同的url重新加载也不应该失败。。。。

      2018-07-02
      回复
登录 后发表内容