我正在尝试在Android手机上离线运行HTML5 QR码扫描仪。我正在使用这个图书馆 https://github.com/schmich/instascan
我刚刚从文档中复制了以下代码,它在我的计算机上像个魅力一样工作。当我将文件夹复制到android 8手机时,使用chrome打开文件时我什么也没得到。我应该得到一个提示窗口,以允许照相机访问,但我不允许。我尝试在页面上运行alert()来查看JS是否正在运行。我想知道如果要从android智能手机本地存储上的本地文件夹中执行此命令,是否还要采取其他任何步骤。 PS:我还检查了手动查看权限,它们都设置为先询问
<!DOCTYPE html>
<html>
<head>
<title>Instascan</title>
<script type="text/javascript" src="instascan.min.js"></script>
</head>
<body>
<video id="preview"></video>
<script type="text/javascript">
let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
scanner.addListener('scan', function (content) {
console.log(content);
});
Instascan.Camera.getCameras().then(function (cameras) {
if (cameras.length > 0) {
scanner.start(cameras[0]);
} else {
console.error('No cameras found.');
}
}).catch(function (e) {
console.error(e);
});
</script>
</body>
</html>
答案 0 :(得分:1)
Instascan需要安全连接(HTTPS),因此即使站点没有相应的证书,您也只需在开头添加https即可请求访问摄像机。
答案 1 :(得分:0)
您也将instascan.min.js添加到手机中吗?如果是,您是否将其添加到同一目录?