预加载的图片未在Chrome中显示

Dav*_*ell 5 javascript google-chrome

我正在预装一些图像,然后在灯箱中使用它们.我遇到的问题是,虽然图像正在加载,但浏览器不会显示它们.

此问题仅适用于Chrome.它一直坚持通过Chrome 8 - 10,我一直在尝试修复它并且无处可去.

我已经阅读了这些类似的问题,
Chrome不显示图像,尽管资产正在传递给浏览器
2次Crossbrowser CSS问题.背景图片未在Google Chrome中显示?
JavaScript预加载的图像正在重新加载

其中所有细节都类似于Chrome for Mac.而这在Windows中正在发生.

  • 所有其他浏览器似乎没问题.
  • 如果您打开Firefox和Chrome,请在Firefox中加载页面,然后在Chrome中显示图片.
  • 手动加载图像后,使用Webkit webdev工具栏,它们总是显示出来
  • 图像等所有链接都很好并且正常工作
  • 清除Chrome中的所有内容似乎没有任何区别(缓存,历史记录等)

如果有人有任何想法,那将是非常有用的,因为我在这里完全没有选择.

PS,道歉,如果有迟到的回复,我明天休假一周!:d

更新 这里是预加载图像的javascript函数.

var preloaded = new Array();
function preload_images() {
    for (var i = 0; i < arguments.length; i++){
        document.write('<');
        document.write('img src=\"'+arguments[i]+'\" style=\"display:none;\">');
    };
};
Run Code Online (Sandbox Code Playgroud)

更新
我仍然有这个问题,我已经删除了整个预加载图像功能.也许提供样式表document.write()不是最好的方法吗?

Tom*_*len 5

Chrome可能没有预加载,因为它在没有显示的情况下写入DOM,因此它可能足够智能,无法实现它.试试这个:

var preloaded = new Array();

function preload_images(){
    for (var x = 0; x < preload_images.arguments.length; x++)
    {
        preloaded[x]     = new Image();
        preloaded[x].src = preload_images.arguments[x];
    }
}
Run Code Online (Sandbox Code Playgroud)

Javascript Image对象有许多有用的功能,您可能会发现它们很有用:

http://www.javascriptkit.com/jsref/image.shtml

onabort()

当用户中止图像下载时执行代码.

onerror的()

当加载图像时发生错误(即:未找到)时执行代码.例子)

负载()

当图像成功并完全下载时执行代码.

然后你还有一个complete属性,如果图像已经完全(预)加载,则true/false会告诉你.