首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QR码到dataURL

QR码到dataURL
EN

Stack Overflow用户
提问于 2016-08-11 15:32:35
回答 2查看 6.5K关注 0票数 0

我正在尝试使用davidshimjs/qrcodejs生成QR代码和下面的代码。但是,当我试图生成DataURL时,它会产生以下错误:

TypeError: document.getElementById(.).toDataURL不是函数

下面是我的代码:

HTML :

代码语言:javascript
复制
<div id="qrcode"></div>

JS :

代码语言:javascript
复制
var qrcode = new QRCode("qrcode", {
    text: QRId,
    width: 200,
    height: 200,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});
var dataURL = document.getElementById('qrcode').toDataURL();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-11 15:35:32

这是因为toDataURL只在<canvas>元素上工作。

canvas.toDataURL(type, encoderOptions);

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL

更新

以下是如何获得数据URL..。

代码语言:javascript
复制
var QRId = "123456789"
var qrcode = new QRCode("qrcode", {
    text: QRId,
    width: 200,
    height: 200,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});

// get the qr div, then find the canvas element inside it
var canvas = document.getElementById('qrcode').querySelector('canvas');

var dataURL = canvas.toDataURL();

document.getElementById('result').innerHTML = dataURL;
代码语言:javascript
复制
<script src="https://cdn.rawgit.com/davidshimjs/qrcodejs/master/qrcode.js"></script>

<div id="qrcode"></div>

<div id="result"></div>

票数 3
EN

Stack Overflow用户

发布于 2022-06-21 10:11:31

简单解

将库包含在<head>标记中

代码语言:javascript
复制
<script type="text/javascript" src="https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js"></script>

一个简单的函数,它将文本转换为其等效的QR图像数据URL。

代码语言:javascript
复制
function textToQrImageDataUrl(txt) {
    var qrDiv = document.createElement("div");

    // This will put a <canvas> inside the given <div> element, and draw
    // the QR image on it
    new QRCode(qrDiv, txt);

    return qrDiv.querySelector('canvas').toDataURL();
}

用HTML测试它

代码语言:javascript
复制
<img id="qrImg" src="#">

<script type="text/javascript">
// This will use the same javascript function that I have defined above
var imgDataUrl = textToQrImageDataUrl("abcd");
document.getElementById('qrImg').setAttribute("src", imgDataUrl);
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38900628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档