刷新图像在Mozilla中无法正常工作

3

我正在开发一个网络摄像头应用程序,将摄像头图像显示在浏览器中,并每秒刷新一次图像。在谷歌浏览器中工作正常,但在其他浏览器中不起作用。下面是我使用的JavaScript代码,请建议如果有解决方案。提前致谢。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
    var access_point = "http://dogcity.viewmydog.com/cam0.jpg";
    function initCamera()
    {
        document.getElementById('main_image').src =access_point;
        setInterval(function(){refreshImage()},1000);
    }

    function refreshImage()
    {
        document.getElementById('main_image').src =access_point;
    }
</script>   
</head>  
<body onload="initCamera()">
<div class="innerDiv" id="innerDiv">
<img class="camImage" id="main_image" src="" width="320" />
</div>
</body>

2
以下是我使用的 JavaScript 代码。在哪里?谁吃了那个? - Mr. Alien
抱歉,外星人先生。我忘记更新代码了,请帮忙。 - user2477098
没关系,我不是JS大师,但我给你的问题点了赞,这样至少可以让更多人看到你的问题。 - Mr. Alien
4个回答

0

你可以在给图片的src时传递一个额外的变量来强制浏览器刷新图片

将你的刷新函数改成这样

function refreshImage()
{
    var mainimage = document.getElementById('main_image');
    d = new Date();
    mainimage.src = access_point + d.getTime();
}

0
如果变量access_point没有改变,我认为浏览器不会尝试刷新图像。尝试在设置回真实URL之前设置一个虚拟(或空)URL,以触发刷新。

0
你的 JavaScript 代码运行良好。 问题在于浏览器缓存了图片。因此,如果有一个新的同名图片进来,你将看不到它的变化。 你可以在图片 URL 中连接一个数字,或者使用 no-cache。

Aric,你说的没错,但是http://dogcity.viewmydog.com/cam0.jpg接入点不支持查询字符串。也就是说,当我发送dogcity.viewmydog.com/cam0.jpg?q=123时,它什么都不返回。 - user2477098

0

我已经在这方面工作过了,但我认为你应该获取有关服务器的信息,了解它们如何处理请求,以便您可以相应地发出请求。因为我没有找到从浏览器端解决此问题的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接