如果我使用 jQuery 语法 : $("<img src='img.jpg'>")
,图像实际上会下载到客户端吗?还是我必须将其附加到正文才能下载?
问问题
431 次
3 回答
6
您不必将图像元素添加到要加载的图像的文档中。
图像元素本身将在您创建图像后立即请求图像(并且一旦它具有src
值)。
运行此命令时观看网络活动(在 Firebug/Developer Tools 中):http: //jsfiddle.net/Guffa/AvgVN/
谷歌“javascript preload”可以找到大量使用它的代码示例。
于 2012-11-03T09:55:49.490 回答
5
是的,图像将立即下载。
即使Image
已创建的元素尚未在 DOM 中,您的浏览器仍会在.src
设置属性后立即开始下载它。
使用您自己的头像,我只是在控制台中执行此操作:
> i = $('<img src="http://graph.facebook.com/100002351317104/picture?type=large">');
...
> i[0].width
180
显示图像确实已加载。
如果您考虑一下,实际上必须是这种情况,否则图像预加载将永远无法工作。图像预加载取决于创建分离Image
节点并设置其src
,这正是$("<img src=...>")
要做的。
于 2012-11-03T09:56:16.617 回答
2
我会说是的,或者可能取决于浏览器。
$("<img src='http://crssrd.com/web_apps/index/themes/crssrd.com/images/loading.gif'>")
例如,在 Chrome 上测试:http: //jsfiddle.net/SMnhU/ 图像会立即下载。
于 2012-11-03T09:57:53.310 回答