这里是一个相同的代码,我想知道什么时候浏览器真正加载图像
将图像路径分配给类似
的数组时imageNames[0] = 'image1.jpg';
或当你做
myImage = new Image();
myImage.src = imageNames[0];
我已经放了一些计时器..但没有得到结论!帮助
答案 0 :(得分:3)
你会看load
事件。根据您的浏览器支持要求,将其与古老的onload
或addEventListener()
/ attachEvent()
相关联。
myImage = new Image;
myImage.onload = function() {
alert('Image loaded');
}
myImage.src = imageNames[0];
您还可以通过检查complete
属性来检查图像是否已加载。
答案 1 :(得分:2)
需要注意的关键是,仅仅因为人类可以看到可能是资源标识符/定位符,计算机就不能。
将字符串分配给数组中的某个点时:
imageNames[0] = 'image1.jpg';
'image1.jpg'
是your.host.net上图像的合法路径这一事实不是浏览器可以自行确定的 - 浏览器不能识别字符串{ {1}}是资源表示而不是资源本身。
将DOM图像的'image1.jpg'
属性设置为字符串src
后,浏览器可以识别该字符串应被视为资源标识符(因为DOM元素是created是一个图像,图像的'image1.jpg'
属性应该是指向可以访问和下载的图像资源的URI,浏览器将尝试通过它自己的方式获取该资源。
答案 2 :(得分:2)
当您将网址分配给src
元素的img
属性时,浏览器会下载图片。在浏览器的控制台中尝试此操作,然后观看网络选项卡:
var img = document.createElement('img');
img.src = 'foo';
第二行执行后,您将立即看到网络活动。
它肯定对imageNames[0] = 'image1.jpg';
没有任何作用,因为数组中的字符串可能是任何东西,浏览器无法知道它应该是图像的URL。