我正在开发一个监控系统,我们需要每 x 分钟拍摄一次用户的图像(在他们的许可下),并且网络摄像头 HTML 元素对用户不可见。
但是,有时拍摄的图像在 Safari 中会显示旧图像。我已经使用 webcamjs 创建了一个模拟应用程序,只有当网络摄像头节点从视口隐藏时,我才能在 safari 中重现此应用程序。
为了从视口隐藏网络摄像头元素,我使用了以下样式
#webcam{
position: fixed;
top: -10000px;
left: -10000px;
}
规格
浏览器:Safari 版本 16.0 操作系统:MacOS 12.6 WebcamJS:1.0.26
function loadWebcamJS(){
const webcam = document.getElementById("webcam");
Webcam.set({
width: 640,
height: 480
});
Webcam.attach(webcam);
Webcam.on('load', afterLoad);
}
const getTime = (d) =>
`${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`;
function snap(){
Webcam.snap((dataURI) => {
const results = document.getElementById('results');
const date = new Date();
const time = getTime(date);
results.innerHTML += `
${time}
`
})
}
loadWebcamJS();
function afterLoad(){
setInterval(() => {
snap();
}, 1000 * 10); //Snap images every 10 seconds
} Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号