我使用jQuery .load()接收加载图像的字节码。
是吗
以下是一些示例代码:
HTML
<div class="slide" data-img-src="http://lorempixel.com/200/100/technics/">
<div class="slide-content">
<h1>Heading 1</h1>
<p>Just some random text for demonstration purposes.</p>
</div>
</div>
<div class="slide" data-img-src="http://lorempixel.com/200/100/nature/">
<div class="slide-content">
<h1>Heading 1</h1>
<p>Just some random text for demonstration purposes.</p>
</div>
</div>
的Javascript
var ajax_load = "<img src='img/load.gif' alt='loading...' />";
$(".slide").each(function(index, el) {
var img_src = $(this).attr('data-img-src');
$(this).prepend(ajax_load);
$(this).load(img_src, null, function() {
console.log(img_src + " loaded");
});
});
答案 0 :(得分:2)
您需要确保您尝试检索的数据或HTML片段位于同一个域中。由于同源政策
http://en.wikipedia.org/wiki/Same_origin_policy
由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法从其他域,子域或协议成功检索数据。
加载() API缩写方法的附加说明:
答案 1 :(得分:1)
如果您尝试将图像的内容(通过AJAX加载,不能少)设置为只接受文本的字段,那么我期望会发生这种情况。如果要使用图像本身替换这些元素的内容,请创建具有正确<img>
属性的src
元素:
var $img = $('<img/>', {src: img_src}).load(function(e) {
// do something when the image has actually loaded?
});
$(this).empty().append($img);