【问题标题】:Webcam.js Error: Webcam is not loaded yet on the modalWebcam.js 错误:尚未在模式上加载网络摄像头
【发布时间】:2021-01-09 11:12:15
【问题描述】:

这是我点击相机按钮拍摄第二张照片时的错误。

这是 HTML 代码:

<div class="list-buttons">
    <button class="btn btn-default btn-camera btn-violet" data-toggle="modal" data-target="#camera-modal" data-backdrop="false">
        <i class="fa fa-camera"></i>
    </button>
</div>

<div class="take-picture">
  <div class="row all-pictures">
  </div>
</div>

<div class="modal fade" id="camera-modal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <div class="row">
                    <div class="col-xs-9">
                        <h5>Take a Picture</h5>
                    </div>
                    <div class="col-xs-3">
                        <button type="button" class="btn btn-default pull-right" data-dismiss="modal">Close</button>
                    </div>
                </div>
            </div>
            <div class="modal-body" style="padding:0px 0px 32px 0px;">
                <div id="my_camera"></div>
                <div class="list-buttons" style="display: flex; justify-content: space-between; margin: 20px;">
                <button class="btn btn-default btn-violet btn-take">
                    <i class="fa fa-camera-retro"></i>
                </button>
                <button class="btn btn-default btn-violet btn-take">
                    <i class="fa fa-camera-retro"></i>
                </button>
                </div>
            </div>
        </div>
    </div>
</div>

这是 JS 代码:

$('#camera-modal').on('show.bs.modal', function (event) {
      Webcam.set({
        width: 800,
        height: 600,
        image_format: 'jpeg',
        jpeg_quality: 90
      });
      Webcam.set("constraints", {
        facingMode: "environment"
      });
      Webcam.attach( '#my_camera' );
      
      $('.btn-take').on('click', function() {
        Webcam.snap( function(data_uri) {
          console.log("test")
          $('.all-pictures').append(''+
            '<div class="col-lg-4 col-md-4 col-sm-4 col-xs-6">'+
                '<img loading="lazy" src="'+data_uri+'" class="img-responsive">' +
            '</div>');
        } );
        $('[data-dismiss="modal"]').click();
      })
})
$('#camera-modal').on('hide.bs.modal', function (event) {
            console.log("MODAL CLOSED")
      Webcam.reset( '#my_camera' );
});

请在此处查看此小提琴:https://jsfiddle.net/38qdco6j/4/

复制错误:

  1. 点击相机图标
  2. 拍照,点击模态框内的相机图标
  3. 重复 1 和 2

另一个是:

  1. 点击相机图标
  2. 关闭模态
  3. 再次点击相机图标
  4. 拍照,点击模态框内的相机图标

请帮助解决这个问题。谢谢!

【问题讨论】:

    标签: javascript jquery bootstrap-modal webcam.js


    【解决方案1】:

    注释掉执行重置的这行代码

    $('#camera-modal').on('hide.bs.modal', function (event) {
            console.log("MODAL CLOSED")
      Webcam.reset( '#my_camera' );
    

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 2014-10-28
      • 2020-12-19
      • 1970-01-01
      相关资源
      最近更新 更多