运行 HTML/JS 站点位于 android phone

Running HTML/JS site on android phone

我正在尝试 运行 HTML5 QR 码扫描器 android phone 离线。我正在使用这个库 https://github.com/schmich/instascan

我刚刚从文档中复制了下面的代码,它在我的电脑上运行得非常好。当我将文件夹复制到我的 android 8 phone 时,当我使用 chrome 打开文件时,我没有得到任何东西。我应该得到提示 window 以允许访问相机,但我没有。我在页面上尝试 运行ning 一个 alert() 来查看 JS 是否 运行ning 并且确实如此。我想知道如果要从 android smartphone 本地存储上的本地文件夹中执行此操作,是否还需要采取任何其他步骤。 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>

您是否也将 instascan.min.js 添加到 phone?如果是,您是否将其添加到同一目录?

Instascan 需要安全连接(HTTPS),因此您只需要在 url 开头添加 https 即可请求访问相机,即使该站点没有相应的证书。