如何在jQuery Lazyload中配置referrerpolicy属性?
解决Lazyload启用后referrerpolicy失效的问题
问题根源是jQuery Lazyload插件在替换图片src属性时,未自动保留原有的referrerpolicy属性,导致该属性失效。可以通过以下两种方法解决:
方法一:利用Lazyload的afterLoad回调手动设置属性
修改Lazyload初始化代码,添加afterLoad回调函数,在图片完成懒加载后为其重新设置referrerpolicy属性:
$(document).ready(function(){ $("img.lazy").lazyload({ threshold : 10, effect : "fadeIn", afterLoad: function(element) { $(element).attr('referrerpolicy', 'no-referrer'); } }); });
方法二:将referrerpolicy属性转移到父级<a>标签
如果图片包裹在<a>标签内,直接把referrerpolicy属性添加到<a>标签上,既能控制链接跳转的referrer,也能覆盖图片加载的referrer规则:
<a href="https://www.example.com" target="_blank" width="100%" height="100%" referrerpolicy="no-referrer"> <img class="lazy" src="//example.jpg" data-original="//example.jpg"> </a>
两种方法都能实现懒加载和referrerpolicy属性的同时生效,可根据实际场景选择。
内容的提问来源于stack exchange,提问作者writingdeveloper
相关产品推荐
相关产品推荐

