我想检查一下我是否在同一网络中连接了我的网络摄像头。 目前我用这个js代码包含它:
document.write('<IMG id="camera" width="' + view_w + '" height="' + view_h + '" SRC="http://192.168.1.195/GetData.cgi?CH=1"');
效果很好!现在我关闭了路由器。几秒钟之后就是溪流。 现在我想每500ms检查一次。当我使用这段代码时:
$(document).ready(function(){
$('#camera').load(function(){
alert("loaded");
});
$('#camera').error(function(){
alert("not loaded");
});
});
效果很好,我在屏幕上显示一个警告窗口(两个事件都有效!)。
现在我将其放入intervall
,但它无法正常工作。
$(document).ready(function(){
setInterval(function(){
$('#camera').load(function(){
alert("loaded");
});
$('#camera').error(function(){
alert("not loaded");
});
}, 500);
});
最后一个代码段有什么问题?
答案 0 :(得分:2)
尝试这样的事情:
$(document).ready(function(){
var imgSrc = 'http://192.168.1.195/GetData.cgi?CH=1';
$('#camera').load(function(){
alert("loaded");
createTimeout();
});
$('#camera').error(function(){
alert("not loaded");
createTimeout();
});
function changeImgSrc(){
$('#camera').attr('source', imgSrc + '&_random=' + new Date().getTime());
};
function createTimeout(){
setTimeout(function(){
changeImgSrc();
}, 500)
};
//first execution
changeImgSrc();
});
我没试过这段代码。