我如何使用javascript测试URL是否是在图像请求时超时的有效图像?
我有以下javascript代码:我如何使用javascript测试URL是否是在图像请求时超时的有效图像?,javascript,jquery,image,Javascript,Jquery,Image,我有以下javascript代码: $(function() { $("<img>", { src: "http://urlpath/img.png", error: function() { alert("error!"); }, load: function() { alert("ok"); } }); }); $(函数(){ $(" 它的代码工作,但我需要为这个请求设置一个超时,以避免有一个缓慢的请求 任何建议对
$(function() {
$("<img>", {
src: "http://urlpath/img.png",
error: function() { alert("error!"); },
load: function() { alert("ok"); }
});
});
$(函数(){
$("
它的代码工作,但我需要为这个请求设置一个超时,以避免有一个缓慢的请求
任何建议对我都是有用的
谢谢:D$(函数(){
$(function() {
timedout = false;
var i = $("<img>", {
src: "http://urlpath/img.png",
error: function() { if (!timedout) { timedout = true; alert("error!"); } },
load: function() { timedout = true; alert("ok"); }
});
window.setTimeout(function () { i.trigger('error'); i.remove(); }, 2000);
});
timedout=false;
var i=$(“试试这个:
$(function() {
var timed = false;
var imgTO = setTimeout(function () {
timed = true;
alert("timed out");
}, 2000); // 2 second timeout
$("<img>").on({
error: function() {
clearTimeout(imgTO);
if (!timed) alert("error!");
},
load: function() {
clearTimeout(imgTO);
if (!timed) alert("ok");
}
}).attr("src", "http://urlpath/img.png");
});
$(函数(){
var=false;
var imgTO=setTimeout(函数(){
定时=真;
警报(“超时”);
},2000);//2秒超时
$(“也许您需要:
$.ajax({
url: "test.html",
error: function(){
// will fire when timeout is reached
},
success: function(){
//do something
},
timeout: 3000 // sets timeout to 3 seconds
});
[阅读]
您可以将超时指定为属性。您还需要使其与缓存的图像一起工作,这意味着从该对象中拉出src
,然后再进行设置。请查看。它返回一个ID,您可以使用该ID取消超时。为什么这个问题被否决?对我来说似乎很好。感谢您的回答,我已经尝试过了但是,当请求超过超时时间时,执行错误函数,但图像请求仍在处理中,您知道如果时间超过2秒,如何停止图像请求吗?谢谢。我尝试过这个方法,但不起作用。页面仍在请求图像:-/btw:很高兴注意到,因为它将请求图像的路径当前文档(根据标准URI解析算法,这是预期的行为而不是错误)一个窗口。stop()
可能会工作,但它会停止当前运行的所有请求。遗憾的是,对于单个图像没有“.stop();”方法。@diegonnes我明白了……你是说我遗漏了一个)
?