我有一个页面显示来自不同远程服务器的大量图像。 http://example.com/img/email_star0.png'height ='150'/>如何检测损坏的图像并用另一个替换?
现在假设这个图像不存在,我在我的html中得到一个(x)。有无论如何,我可以检测到这个图像不存在,并用本地图像替换这个(x),而不必检查该文件是否存在于使用Curl的远程服务器上(或使用JQuery来处理),从而节省时间?这可以在本地完成吗?
感谢您的帮助
我有一个页面显示来自不同远程服务器的大量图像。 http://example.com/img/email_star0.png'height ='150'/>如何检测损坏的图像并用另一个替换?
现在假设这个图像不存在,我在我的html中得到一个(x)。有无论如何,我可以检测到这个图像不存在,并用本地图像替换这个(x),而不必检查该文件是否存在于使用Curl的远程服务器上(或使用JQuery来处理),从而节省时间?这可以在本地完成吗?
感谢您的帮助
是的,这是可能的使用onerror事件:
<img src="your_image_source" onerror="this.src='/path/to/local/file'">
如果不存在图像,而不是显示X,这会显示默认的图像在您的本地文件夹
WIN的模糊HTML属性!你是老板!! – 2012-01-18 13:39:04
今天早上教我一些关于HTML的内容。 :-) – FtDRbwLXw6 2012-01-18 13:40:24
感谢您的好意致意:) – Ninja 2012-01-18 13:41:06
我不认为这是可能的检查,如果远程服务器上存在的图像,而无需使用卷曲或jQuery的。但jQuery snippet bellow对图像加载错误作出反应,将其替换为本地图像,也许这就是您要查找的内容。
$(document).ready(function(){
$('img').error(function(){
$(this).attr('src', 'http://mysite/myimage.jpg');
});
});
你可以直接在图像标签中使用'onerror'属性:
<img src="my_images.jpg" onerror="this.src='my_replacement.jpg'">
所以没有办法检测图像是否可用(在服务器端),如果不是,请用本地图像替换它? – ppp 2012-01-18 13:34:27
@David什么将是一个有效的PHP方式来做这个检查? – ppp 2012-01-18 13:38:25