我正在尝试使用 JavaScript 预加载图像。我已经声明了一个数组,其中包含来自不同位置的图像链接:
var imageArray = new Array();
imageArray[0] = new Image();
imageArray[1] = new Image();
imageArray[2] = new Image();
imageArray[3] = new Image();
imageArray[0].src = "http://www.bollywoodhott.com/wp-content/uploads/2008/12/arjun-rampal.jpg";
imageArray[1].src = "http://labelleetleblog.files.wordpress.com/2009/06/josie-maran.jpg";
imageArray[2].src = "http://1.bp.blogspot.com/_22EXDJCJp3s/SxbIcZHTHTI/AAAAAAAAIXc/fkaDiOKjd-I/s400/black-male-model.jpg";
imageArray[3].src = "http://www.iill.net/wp-content/uploads/images/hot-chick.jpg";
我使用这个数组所做的图像淡入淡出和变换效果对于前 3 张图像正常工作,但对于最后一张,imageArray[3]
图像的实际图像数据没有被预加载,它完全破坏了效果,因为实际图像数据加载后,似乎只在需要显示的时候。
发生这种情况是因为最后一个链接http://www.iill.net/wp-content/uploads/images/hot-chick.jpg
不是图像的直接链接。如果您转到该链接,您的浏览器会将您重定向到实际位置。现在,我在 Chrome 中的图像预加载代码运行良好,效果看起来很棒。因为 Chrome 似乎预加载了实际数据 - 要显示的 EVENTUAL 图像。这意味着在 Chrome 中,如果我预加载了一个将重定向到“停止窃取我的带宽”的图像,那么预加载的图像就是“停止窃取我的带宽”。
如何修改我的代码以使 Firefox 以相同的方式运行?