我如何测试如果一个URL是一个有效的图像与超时的图像请求与javascript
How can I test if a URL is a valid image with timeout on image request with javascript?
我有这个javascript代码:
$(function() {
$("<img>", {
src: "http://urlpath/img.png",
error: function() { alert("error!"); },
load: function() { alert("ok"); }
});
});
它的代码工作,但我需要为这个请求设置一个超时,以避免有一个缓慢的请求。
任何建议对我都很有用!谢谢:D
也许你需要:
$.ajax({
url: "test.html",
error: function(){
// will fire when timeout is reached
},
success: function(){
//do something
},
timeout: 3000 // sets timeout to 3 seconds
});
[阅读]http://api.jquery.com/jQuery.ajax/
$(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);
});
试试这个:
$(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");
});
相关文章:
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 如何将多个画布保存为一个图像
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 如何在设定的时间间隔内一次只显示一个图像
- 循环以检查数组中的最后一个图像
- 下载Div&画布为一个图像
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 在引导程序旋转木马中显示下一个图像
- 拉斐尔用一个图像填满了这个圆圈
- 将多个重叠的透明图像保存为一个图像
- 我怎么能把它做成这样一个图像就不能拖动了
- 普通JS:使80%宽度元素100%IF包含一个图像
- 当滑块只有一个图像时,如何禁用下一个/上一个按钮
- 如何使用onclick事件点击一个图像,并让它更改同一网页上的另一个图像
- 将多个画布保存为一个图像(使网站像PicFrame一样)
- 在 JavaScript 中将一个.PNG图像拖放到另一个图像上
- 如何在CSS中修复与另一个图像进行比较的图像
- 只有一个图像被绘制到画布上
- 使用 jQuery 在最后一个图像之后附加 HTML