jQuery网络摄像头刷新。等待请求完成

时间:2011-11-01 17:13:18

标签: java php jquery

正如我所说的那样,我正在使用jQuery刷新/更新网络摄像头图像。 如果你想每隔5或10秒更新一次图像,这就可以了。 但是当你用10-15fps做一个流时,它会遇到大多数浏览器的问题 它似乎。问题似乎是它发送了第一个请求的请求。 有没有办法在发送网络摄像头图像的新更新请求时等待第一个请求?因为对我来说,如果服务器上有图像的延迟很小,它似乎会叠加请求。

很抱歉,如果我确实解释得很糟糕但是...我是挪威人并且不知所措。不是最好的组合。 :)

网络摄像头图片是一个网址 恩。 http://www.ohoynothere.com/image.jpg

我使用的旧代码。

     $(document).ready(function() {
        setInterval('updateCamera()',3000);
});

function updateCamera() {
    $('.online2').each(function() {
        var url = $(this).attr('src').split('&')[0];
        $(this).attr('src', url + '&rand=' + new Date().getTime());
    })
}

1 个答案:

答案 0 :(得分:1)

当然!

听起来你最好的选择是使用jQuery.ajax()方法(http://api.jquery.com/jQuery.ajax/)或.get()方法来链接你的请求。基本上,您需要一个JavaScript函数,它使用.ajax()调用对图像进行请求。在响应处理程序中,只需再次调用该函数:

function getMyImage() {
  jQuery.get(image_url, function(response) {
    jQuery('#img-name').attr('src', response);
    getMyImage();
  });
}

每当getMyImage成功从网络摄像头返回图像的src值时,它会立即熄灭并尝试检索新图像,但不会在加载前一图像之前。

如果我不明白你想要做什么,请告诉我。了解更多关于如何检索网络摄像头图像(即每次返回的图像src是否相同等)将会有所帮助。