【发布时间】:2018-01-19 16:38:23
【问题描述】:
我在此处(提示 1)https://www.sitepoint.com/five-techniques-lazy-load-images-website-performance/ 实施了 David Walsh 的提示中的延迟加载,并且在新加载网站时效果很好。但是当图像被过滤并使用 ajax 请求重新渲染时,它就不起作用了。我正在使用 Rails,图像包含在一个部分中,单击过滤器会在 ajax 请求上重新呈现。当通过 ajax 请求过滤图像时,仅加载模糊的占位符图像,而不是实际图像。
我的js代码是
[].forEach.call(document.querySelectorAll('img[data-src]'), function(img) {
img.setAttribute('src', img.getAttribute('data-src'));
img.onload = function() {
img.removeAttribute('data-src');
};
});
我的图片代码是
<%=image_tag(activity.lead_image.xs_thumb, :class => "card-img-top", :alt => "Card image cap", data: { "src" => image_path(activity.lead_image.thumb) }) %>
任何指导将不胜感激!
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax lazy-loading