我对 PreloadJS 在 Firefox 上的行为有疑问。实际上,我很难相信以前没有其他人遇到过这个问题(找不到任何描述相同行为的人)所以也许我只是做错了什么......它在谷歌浏览器中运行得很好。
这是JS部分:
$(document).ready(function () {
var preloadBG = new createjs.LoadQueue();
preloadBG.addEventListener("fileload", function(){
$('#light').css("background-color","green");
$("#container").append('<div id="image"></div>');
});
preloadBG.loadFile('http://i.imgur.com/ifvZ5Ss.jpg');
});
请参阅此处的示例:http: //codepen.io/Deto15/pen/KdpRdx
如果您使用 Firefox 和 Ctrl+F5 运行它,您会注意到我所描述的行为。
所以基本上我在这里做的是:
- 在 domready PreloadJS 上预加载图像(它实际上还没有在页面上的任何地方使用。
- 预加载完成后,红色圆圈变为绿色。
- 在该新 div 被附加到页面之后,该 div 使用之前预加载的图像作为背景图像。
它在 Chrome 中的行为方式是图像出现在与圆圈改变颜色几乎相同的时刻——这是有道理的,因为它已被预加载。在 Firefox through 上,圆圈改变颜色,然后在图像出现之前有一段延迟 - 就好像 Firefox 再次加载它一样。
对此行为有任何解释以及解决此问题的任何方法吗?