验证href指向文件的链接
问题描述:
我正在使用JQuery为图像文件动态添加链接。验证href指向文件的链接
+ "<td><a class='IconButton' id='trkimg" + k + "' href='IMSTORE\/" + trackings[k].Image + "'><span class='ui-icon ui-icon-image'></span></td>"
此代码将检查这个值是从数据库返回并隐藏,如果没有返回任何内容的链接:
if (trackings[k].Image == null) { $("#trkimg" + k).html(""); $("#trkimg" + k).removeClass('CustomButton'); }
如何使用jQuery来验证文件返回的实际存在,如果它不存在,显示不同的图像?
答
根据SeanJA的建议,您可以使用ajax'测试'图像,然后实际追加success
回调中的图像,或尝试error
回调中的另一个图像。
您正在请求图像两次,但可能会在第一次尝试后缓存。不确定。
如果你想实际使用返回的图像,它需要进行编码。这里有一个链接指导如何做到这一点。虽然没有尝试过。
http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html
var imageURI = "http://mydomain.com/myimage.jpg";
$.ajax(
{
type:'get',
dataType:'image/jpeg',
url:imageURI,
success:function() { $('body').append('<img src="' + imageURI + '" />'); },
error:function() { /* Change url in imageURI variable, and try again */ }
}
);
不知道这是最好的方式,但似乎工作。
答
Javascript无法看到您的服务器上的文件。你可以做一个ajax请求到服务器端来检查文件是否存在,我猜。
是否有可能捕获404错误并重定向到不同的图像? – wham12 2010-04-22 17:17:25