0

我正在使用 jQuery .load()接收加载图像的字节码。

是吗

  1. 因为没有指定 MIMEType?
  2. 因为我使用的是没有文件扩展名的图像 url?
  3. 因为我必须以某种方式包裹整个东西?

这是一些示例代码:

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");
    });
});

还有一个小提琴http://jsfiddle.net/BCLJE/

4

2 回答 2

2

您需要确保您尝试检索的数据或 HTML 片段位于同一域中。由于同源政策

http://en.wikipedia.org/wiki/Same_origin_policy

由于浏览器安全限制,大部分“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。

它在load() API 速记方法的附加说明下:

http://api.jquery.com/load/

于 2013-10-25T14:43:26.430 回答
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);

jsFiddle 演示

于 2013-10-25T14:54:18.973 回答