Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何使用javascript测试URL是否是在图像请求时超时的有效图像?_Javascript_Jquery_Image - Fatal编程技术网

我如何使用javascript测试URL是否是在图像请求时超时的有效图像?

我如何使用javascript测试URL是否是在图像请求时超时的有效图像?,javascript,jquery,image,Javascript,Jquery,Image,我有以下javascript代码: $(function() { $("<img>", { src: "http://urlpath/img.png", error: function() { alert("error!"); }, load: function() { alert("ok"); } }); }); $(函数(){ $(" 它的代码工作,但我需要为这个请求设置一个超时,以避免有一个缓慢的请求 任何建议对

我有以下javascript代码:

$(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我明白了……你是说我遗漏了一个