Javascript 图像自动刷新保存拍摄的第一张图像

Javascript 图像自动刷新保存拍摄的第一张图像,javascript,Javascript,我有一个相机,可以保存jpeg图片,然后上传到我的网页上。我正在使用此代码进行自动刷新: function refreshCam() { document.getElementById("cameraImg").src = "cameraImg.jpeg?a=" + String(new Date().getMilliseconds()); setTimeout("refreshCam()",500); } 然而,我拍摄的第一张图像在连续的图像显示之间弹出。 更糟糕的是,

我有一个相机,可以保存jpeg图片,然后上传到我的网页上。我正在使用此代码进行自动刷新:

function refreshCam()
{   
    document.getElementById("cameraImg").src = "cameraImg.jpeg?a=" + String(new Date().getMilliseconds());
    setTimeout("refreshCam()",500);
}
然而,我拍摄的第一张图像在连续的图像显示之间弹出。 更糟糕的是,即使我关闭相机,不再保存新图像,显示的图像仍会继续变化。如何永久删除此行为?

要防止图像“闪烁”,可以使用以下技术:

function scheduleNextLoad() {
    setTimeout("loadNextImage()", 500);
}

function loadNextImage() {
    var image = new Image;
    image.onload = function() {
        var previousImage = document.getElementById("cameraImg");
        previousImage.parentNode.replaceChild(image, previousImage);
        image.id = previousImage.id;
        scheduleNextLoad();
    }
    image.onabort = scheduleNextLoad;
    image.onerror = scheduleNextLoad;
    image.src = "cameraImg.jpeg?a=" + String(new Date().getMilliseconds());
}
这样做的目的是在“侧面”创建一个新的
img
元素,让它在背景中加载图像,并在图像加载后将其与页面中已有的
img
交换。结果是可视化更新会立即发生

发射一个
loadNextImage()
,让球滚起来

顺便说一句,调用
getmillizes()
并不是最好的方法。您可能想改用
getTime()