【问题标题】:Hide an HTML video element隐藏 HTML 视频元素
【发布时间】:2020-08-16 08:29:35
【问题描述】:

我正在使用webcam easy js 为我们的客户拍照。我需要的是隐藏相机,因为客户不应该知道正在拍摄。我尝试使用hide() 函数通过jQuery 隐藏该元素,但是当我在拍摄快照时调用Ajax 时我得到了null。我尝试使用 css 来隐藏它,但它不起作用,并尝试使用 display:none、visibility:hidden 等。 你能帮助我吗?抱歉英语不好。

  • 用于处理图像的 snap 脚本和调用 ajax servlet:
$(document).ready(function(){
    var webCamElement = document.getElementById("camera");
    var canvasElement = document.getElementById("canvas");
    const webcam = new Webcam(webCamElement, 'user', canvasElement, null);
    
    //$('#camera').style.display="none";
    //$('#camera').attr('visibility', 'hidden');
    //$('#camera').attr('display', 'block');
    webcam.start();
        
    $('#checker').click(function(){
        picture = webcam.snap();
        alert(picture);
        $.post('TestCamera', {param: picture}, function(response){
            if (response === 'error'){
                alert('Error you should stay in front of camera');
            }else{
                window.location.replace('QuestionAndAnalyze.jsp'); /* redirect*/
            }
        }); /*END servletCall*/
    }); /*END click*/
    
});/* END ready*/

HTML 元素:

<video id="camera"></video>
<canvas id="canvas"></canvas>
<input type="checkbox" name="checkVision" id="checker">
<label for="checkVision">I read tips</label>

<form action="startSurvey" method="GET">
    <button type="submit"></button>
</form>

我想隐藏 &lt;video id="camera"&gt; 并使用它来将其传递给 ajax servlet 调用。

【问题讨论】:

  • 你在未经同意的情况下拍摄某人?这是违法的。
  • 我投票结束这个问题,因为 OP 正在就非法的事情寻求帮助。
  • 是的,我知道,但是这些数据用于医疗目的,医生会特别注意这一点
  • 不管是给谁或做什么,都不允许在某人不知情的情况下拍照。医生应该更清楚。
  • 来吧,他签署一份不再担任失职律师的证明文件

标签: javascript jquery ajax frontend webcam


【解决方案1】:

浏览器很可能会请求使用相机的权限。这样您的客户就会明白他/她正在被拍摄。

你至少可以试试

$('#camera').css('visibility', 'hidden');

而不是

$('#camera').attr('visibility', 'hidden');

演示 - https://codepen.io/vyspiansky/pen/xxVVavN

【讨论】:

  • 正确,但他知道那是拍摄的,但他不知道什么时候,特别是他在特定情况下编制调查时。
  • 如果我理解正确的话,摄像头会在医生的笔记本电脑上工作,而不是在病人的笔记本电脑上工作。对吗?
  • @GabrielePisapia 你至少可以试试$('#camera').css('visibility', 'hidden'); 而不是$('#camera').attr('visibility', 'hidden');
  • 是的,医生会注意病人签署的合法拍照的文件
猜你喜欢
  • 2011-12-04
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
相关资源
最近更新 更多