如果我使用jQuery语法:$("<img rel="nofollow noreferrer" src ='img.jpg'>"),图像是否会实际下载到客户端?

Pee*_*aha 5 syntax jquery

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

Guf*_*ffa 6

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

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

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

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


Aln*_*tak 5

是的,图像将立即下载.

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

使用你自己的头像,我只是在控制台中这样做:

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

显示图像确实已加载.

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