我每天使用PHP自动导入多个XML源(Tradetracker、Daisycon等)到一个联盟网站。这些源包含来自各种商店的产品。
一切都运作得很好,除了图片。源中的图片只是链接到提供者的图片。这在大多数情况下都有效,但有时(由于各种原因)图片不再存在,被保护,已更改等等。这会导致浏览器显示“未找到图像”,看起来不好。
我尝试使用htaccess解决此问题,但出于某种原因,它不起作用。我搜索并尝试了几个htaccess“脚本”,但都没有成功。我还尝试了在图片URL中使用JS,但这也没有起作用。我更喜欢htaccess。
有人有建议吗?
使用htaccess替换图像
RewriteEngine on
<FilesMatch ".(jpg|png|gif)$">
ErrorDocument 404 "/noimage.jpg"
</FilesMatch>
使用JS
<img src="image.jpg" onerror="this.onerror=null;this.src='default.jpg'">
更新:可用版本。
<script type="text/javascript">
jQuery(window).load(function() {
jQuery("img").each(function(){
var image = jQuery(this);
if(image.context.naturalWidth == 0 ||
image.readyState == 'uninitialized'){
jQuery(image).unbind("error").attr(
"src", "noimage.jpg"
);
}
});
});
</script>