如果我使用jQuery语法:$(“<img src="img.jpg"/>”),图像实际上会下载到客户端吗?

时间:2012-11-03 09:51:28

标签: jquery syntax

如果我使用jQuery语法:$("<img src='img.jpg'>"),图像是否会实际下载到客户端?或者我是否必须将其附加到身体才能下载?

3 个答案:

答案 0 :(得分:6)

您不必将图像元素添加到文档中以便加载图像。

图像元素本身会在您创建图像后立即请求图像(并且只要它具有src值)。

运行此操作时,请观察净活动(在Firebug /开发人员工具中):http://jsfiddle.net/Guffa/AvgVN/

Google "javascript preload"找到大量使用此代码的代码示例。

答案 1 :(得分:5)

是的,图像将立即下载。

即使已创建的Image元素尚未在DOM中,但只要设置了.src属性,您的浏览器仍会开始下载。

使用您自己的头像,我只是在控制台中执行此操作:

> i = $('<img src="http://graph.facebook.com/100002351317104/picture?type=large">');
...
> i[0].width
180

显示图像确实已加载。

如果您考虑一下,实际上必须是这种情况,否则图像预加载永远不会起作用。图像预加载取决于创建分离的Image节点并设置其src,这正是$("<img src=...>")将要执行的操作。

答案 2 :(得分:2)

我会说是,或者可能取决于浏览器。

$("<img src='http://crssrd.com/web_apps/index/themes/crssrd.com/images/loading.gif'>")​

在Chrome上进行测试,例如:http://jsfiddle.net/SMnhU/ 图像立即下载。