2012-04-07 74 views
2

我想src属性从使用jQuery每秒一个img标签更改。在谷歌浏览器上效果很好,每秒都会有一张新图片出现。但不要在Firefox或我的iPad上工作。只改变图像一次。火狐,Safari浏览器的iOS不改变IMG SRC多,一旦与jQuery

这是我使用的代码:

$(document).ready(function(){ 
    function refreshIMG(){ 
     $("#camara").attr("src", "localhost:4000"); 
    } 
}); 
window.setInterval(refreshIMG, 1000) 

在localhost:4000我正在运行过程中出现了龙卷风服务器和保存我与OpenCV的摄像头的图像。我知道这是行得通的,因为它可以在谷歌浏览器上运行,并且我可以将图像保存在我的硬盘上。 还向refreshIMG功能添加并提醒(“测试”),并且Firefox和iPad2上显示的警报每秒都会显示,但图像不会更改。

测试在Firefox 11,iPad的的iOS 5.1,Chrome浏览器18的Ubuntu 11.10

+0

您编写代码的方式,refreshIMG不在范围之内 - 但猜测这只是一个编辑问题,而真正的问题可能是缓存,并且/或者您并未等待第一张图像加载之前你改变它。 – FilmJ 2012-04-07 01:19:56

回答

6

难道这些其他浏览器检测到SRC是一样的,所以它不会改变任何东西?

尝试将?time=" + new Date().getTime()添加到您的src。我也建议移动$(document).ready()setInterval以防万一它尝试的存在是因为DOM没有准备好之前,执行refreshIMG()(不太可能,但好的做法)。最终产品会是这样的:

$(document).ready(function(){ 
    function refreshIMG(){ 
     $("#camara").attr("src", "localhost:4000?time=" + new Date().getTime()); 
    } 
    window.setInterval(refreshIMG, 1000); 
}); 

这可能“猫腻”这些浏览器以为它是一个完全不同的图像,并刷新它。

否则,您可以尝试对仅有内容为<img src="localhost:4000">的页面进行AJAX调用,然后用当前图像中的HTML替换该HTML。

+0

通过将日期添加到URL完美实现。非常感谢你 – danielfrg 2012-04-07 22:28:13

相关问题