我无法在IOS设备上用javascript打开后摄像头

我无法在IOS设备上用javascript打开后摄像头,javascript,html,ios,Javascript,Html,Ios,我的目标是通过网站读取二维码并将其保存到数据库中。我在安卓设备上没有问题,但在IOS设备上有问题 我无法在IOS设备上用javascript打开后摄像头。前摄像头工作,后摄像头不工作。这些也是我的密码 如何使用Instascan和HTML5 QR扫描仪 前置摄像机 后置摄像机 var scanner=new Instascan.scanner({video:document.getElementById('preview'),扫描周期:5,镜像:false}); scanner.add

我的目标是通过网站读取二维码并将其保存到数据库中。我在安卓设备上没有问题,但在IOS设备上有问题

我无法在IOS设备上用javascript打开后摄像头。前摄像头工作,后摄像头不工作。这些也是我的密码

如何使用Instascan和HTML5 QR扫描仪



前置摄像机 后置摄像机 var scanner=new Instascan.scanner({video:document.getElementById('preview'),扫描周期:5,镜像:false}); scanner.addListener('scan',函数(内容){ 警报(内容); //window.location.href=content; }); Instascan.Camera.getCameras().then(函数(摄像头){ 如果(摄影机长度>0){ scanner.start(摄像机[0]); $('[name=“options”]')。在('change',function()上{ if($(this).val()==1){ 如果(摄像头[0]!=“”){ scanner.start(摄像机[0]); }否则{ 警报(“未找到前摄像头!”); } }else if($(this).val()==2){ 如果(摄像头[1]!=“”){ 扫描仪启动(摄像机[1]); }否则{ 警报(“未找到倒车摄像头!”); } } }); }否则{ 控制台。错误('未找到摄像头'); 警报(“未发现摄像头”); } }).catch(函数(e){ 控制台错误(e); 警报(e); });
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<div class="container-fluid">
    <div class="row">

        <div class="col">
            <script src="https://rawgit.com/schmich/instascan-builds/master/instascan.min.js"></script>
            
            <div class="col-md-6">
                <video id="preview" class="p-1 border" style="width:100%;" playsinline></video>

                <hr>

                <div class="btn-group btn-group-toggle mb-5" data-toggle="buttons">
              <label class="btn btn-primary active">
                <input type="radio" name="options" value="1" autocomplete="off" checked> Front Camera
              </label>
              <label class="btn btn-secondary">
                <input type="radio" name="options" value="2" autocomplete="off"> Back Camera
              </label>
            </div>
            </div>

            <script type="text/javascript">
                var scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5, mirror: false });
                scanner.addListener('scan',function(content){
                    alert(content);
                    //window.location.href=content;
                });
                Instascan.Camera.getCameras().then(function (cameras){
                    if(cameras.length>0){
                        scanner.start(cameras[0]);
                        $('[name="options"]').on('change',function(){
                            if($(this).val()==1){
                                if(cameras[0]!=""){
                                    scanner.start(cameras[0]);
                                }else{
                                    alert('No Front camera found!');
                                }
                            }else if($(this).val()==2){
                                if(cameras[1]!=""){
                                    scanner.start(cameras[1]);
                                }else{
                                    alert('No Back camera found!');
                                }
                            }
                        });
                    }else{
                        console.error('No cameras found.');
                        alert('No cameras found.');
                    }
                }).catch(function(e){
                    console.error(e);
                    alert(e);
                });
            </script>
            
        </div>
        
    
    </div>
</div>