Javascript 通过qrcode.js提取生成的img的源属性

Javascript 通过qrcode.js提取生成的img的源属性,javascript,dom,base64,Javascript,Dom,Base64,正如我在标题中所说,我的问题是我得到了一个空字符串 我正在使用qrcode.js 我的代码: <script src="qrcode.js"></script> <div id="qr"></div> <img id="test" src="https://www.google.de/images/branding/googlelogo/1x/googlelogo

正如我在标题中所说,我的问题是我得到了一个空字符串

我正在使用qrcode.js

我的代码:

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

<img id="test" src="https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png">


<script type="text/javascript">
var qrCode = new QRCode(
    document.getElementById('qr'),
    {
        text: 'www.google.de',
        width: 150,
        height: 150,
        onSuccess: (value) => {
            console.log('value',value);
        }
    }
);

</script>

<script>
var test = document.getElementById("test").src;
console.log(test);
var base64 = document.getElementById("qr_neu").src;
console.log(base64);
console.log(typeof base64);
console.log(base64.length);
var dom = document.getElementById("qr_neu").attributes;
console.log(dom);
var code = dom[3];
console.log(code);
</script>

var qrCode=新qrCode(
document.getElementById('qr'),
{
文本:“www.google.de”,
宽度:150,
身高:150,
onSuccess:(值)=>{
console.log('value',value);
}
}
);
var test=document.getElementById(“test”).src;
控制台日志(测试);
var base64=document.getElementById(“qr_neu”).src;
console.log(base64);
console.log(base64类型);
console.log(base64.length);
var dom=document.getElementById(“qr_neu”).attributes;
console.log(dom);
var代码=dom[3];
控制台日志(代码);
生成的二维码运行良好,在chrome的开发者设置中,我可以看到两者的src

截图:

现在我不明白为什么我不能访问二维码的src属性,但是在谷歌img上

我还尝试了github问题部分中描述的回调版本,但它也不起作用。 我想要的只是base64代码作为其他应用程序的var


谢谢你的帮助

尽管可以在开发工具中看到src值,但返回空字符串的原因是生成二维码需要很短的时间

所以
var base64=document.getElementById(“qr_neu”).src

以下是qrcode.js存储库中的相关问题:

以下是适合您的代码的解决方案:

const qrDiv = document.getElementById('qr')
var qrCode = new QRCode(
    qrDiv,
    {
        text: 'www.google.de',
        width: 150,
        height: 150,
        onSuccess: (value) => {
            console.log('value',value);
        }
    }
);
const src = qrDiv.children[0].toDataURL("image/png");
console.info(src);

非常感谢你