在Firefox中没有重新启动的GIF动画(带示例)

时间:2014-03-11 17:05:45

标签: javascript jquery html firefox caching

问题描述:

在许多情况下,GIF动画似乎无法在Firefox中正常重启。这是我在Mozilla中遇到的问题,没有其他浏览器。

例如,this为什么总能重新启动它,但this却没有?在后者中,gif被明确缓存并在后台永远循环,所以当你调用.show()时它会出现在动画中间的某个随机点上。

我怎样才能实现我在第二个小提琴中尝试做的事情并强制每次隐藏它时重启gif?不,我不想每次都重新下载整个gif,因此将'?random=' + Date.now()附加到图像不是解决方案。

来自Link #1的代码:

$('#still, #animated').click(function() {
    animated.attr('src', "");
    animated.attr('src', srcToGif);
});

来自Link #2的代码:

$('#still, #animated').click(function() {
    if (!clicked) {
        clicked = 1;
        animated.attr('src', "");
        animated.attr('src', srcToGif);
        animated.show();
        setTimeout(function() {
            animated.hide();
            clicked = 0;
        }, 9500);
    }
});

1 个答案:

答案 0 :(得分:0)

替换

animated.attr('src', "");

animated.removeAttribute('src');

在Firefox 30中为我工作。 假设单词animated是普通的,非jquery特定的img引用。

我一般都不做js库因为我想控制。由于库的大部分,缩小通常是虚幻的,当确实发生怪癖时,很难排除故障。