如果在手机上是二进制的,如何获取图像src

how to get image src if it is in binary on mobile phones

我正在使用 This Libary 创建二维码,这就是它的工作原理,它创建一个图像标签并将二维码图像作为二进制图像存储在 src 中。我想下载二维码图片,它在我的笔记本电脑上完美运行,但是当我在我的手机上测试它时 phone 它没有用,我什至试图提醒图片的 src 但结果是空的,我该如何解决这个问题? 这是我的代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>qrcode</title>

  <style>
    #qrcode {
      width: 160px;
      height: 160px;
      margin-top: 15px;
    }
  </style>
</head>

<body>
  <input type="button" id="cmd" value="Save PNG" onclick="saveimg()" />
  <a href="" download="ConferPressQrTicket" id="download">download</a>

  <div id="qrcode"></div>
  <script src="./qrcode.min.js"></script>

  <script type="text/javascript">
    // var qrcode = new QRCode("qrcode");
    var qrcode = new QRCode("qrcode", {
    text: "",
    width: 200,
    height: 200,
    colorDark : "#000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});

    function makeCode() {
      let TickectId = location.href.split("=")[1];
      let dfd = qrcode.makeCode("TickectId")

    }

    function saveimg() {
      alert(document.getElementsByTagName("img")[0].src)
      document.getElementById("download").href = document.getElementsByTagName("img")[0].src;
    }
    makeCode();
    document.getElementById("cmd").addEventListener("click", () => {
      alert(document.getElementsByTagName("img")[0].src)
      document.getElementById("download").href = document.getElementsByTagName("img")[0].src;
    })

  </script>
</body>

</html>

将此添加到您的代码中

var can = document.querySelector("#qrcode canvas");
alert(can.toDataURL())
document.getElementById("download").href = can.toDataURL();