javascript - 图像在 Firefox 中损坏或 chop

标签 javascript firefox

我下面的代码(以及此处:http://jsbin.com/oseruc/1)在每次鼠标单击时翻阅给定的图像。除了最新的 Firefox,它在我可以测试的所有浏览器中都运行良好。 Firefox 显示如下错误:

Image corrupt or truncated: <a href="http://upload.wikimedia.org/wikipedia/commons/0/0c/St" rel="noreferrer noopener nofollow">http://upload.wikimedia.org/wikipedia/commons/0/0c/St</a>._Cristopher-D%C3%BCrer.jpg
Image corrupt or truncated: <a href="http://upload.wikimedia.org/wikipedia/commons/0/0c/St" rel="noreferrer noopener nofollow">http://upload.wikimedia.org/wikipedia/commons/0/0c/St</a>._Cristopher-D%C3%BCrer.jpg
Image corrupt or truncated: Rhinoceros.jpg">http://upload.wikimedia.org/wikipedia/commons/b/b9/D%C3%BCrer-_Rhinoceros.jpg
Image corrupt or truncated: <a href="http://upload.wikimedia.org/wikipedia/commons/0/0c/St" rel="noreferrer noopener nofollow">http://upload.wikimedia.org/wikipedia/commons/0/0c/St</a>._Cristopher-D%C3%BCrer.jpg
Image corrupt or truncated: Rhinoceros.jpg">http://upload.wikimedia.org/wikipedia/commons/b/b9/D%C3%BCrer-_Rhinoceros.jpg
如果我点击太快,就会发生这种情况。是的,已经看到这个错误报告:http://code.google.com/p/fbug/issues/detail?id=4291

知道为什么会发生这种情况以及如何解决这个问题吗?因为我不能忽略这些错误。它们会干扰我的功能。

我的代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <script type="text/javascript">
(function (window) {
    var frames = [
        "http://upload.wikimedia.org/wikipedia/commons/6/65/Duerer_%28Marter_der_zehntausend_Christen%29.jpg",
        "http://upload.wikimedia.org/wikipedia/commons/0/0c/St._Cristopher-D%C3%BCrer.jpg",
        "http://upload.wikimedia.org/wikipedia/commons/b/b9/D%C3%BCrer_-_Rhinoceros.jpg"
    ];<br/>
    window.onload = function () {
        var frame_num = 0;
        var image = document.getElementById("image");<br/>
        image.onclick = function () {
            frame_num = (frame_num + 1) % frames.length;
            image.src = frames[frame_num];
            return false;
        };
    };
})(window);
    </script>
  </head>
  <body>
    <img id="image" src="http://upload.wikimedia.org/wikipedia/commons/6/65/Duerer_%28Marter_der_zehntausend_Christen%29.jpg" style="position:relative">
  </body>
</html>

最佳答案

当您请求图像太快时,肯定会发生这种情况。我通过使用 setTimeout 查看在过去的 35 毫秒内是否请求了图像来绕过它。我的应用程序有点不同,但您可以做类似的事情(或者在图像加载之前禁用按钮)。

关于javascript - 图像在 Firefox 中损坏或 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727219/

相关文章:

css - Firefox li href CSS 选择器

javascript - 如何检测隐藏元素获得焦点,然后将焦点传递给可见控件?

javascript - 使用 Angular js 按顺序列表排序

css - 同一个 Firefox 中导航栏 Bootstrap 的区别

CSS:在 Firefox、IE 中替换 -webkit-line-clamp

javascript - 如何知道 url 是否已添加书签

javascript - 如何防止 CSS 粘贴到 contenteditable div 中

javascript - 更改 iFrame 标记的高度

javascript - Bootstrap Typeahead.js

javascript - 为什么 getPreventDefault() 起作用而 defaultPrevented 不起作用?