Ste*_*vik 4 javascript qr-code
我正在使用http://davidshimjs.github.io/qrcodejs/生成事件的QR码,但是当我尝试从下面显示的字符串制作代码时,出现此错误错误:代码长度溢出。(1716> 1056)。我发现,当我改用correctLevel : QRCode.CorrectLevel.H中等语言时,它可以工作。当我删除Description或字符串的其他部分时,它也起作用。
您能解释一下这些限制的工作原理,以及如何设置这些限制,以便从用户输入生成代码时(它可能有很长的描述)不会崩溃?
qrkod(){
this.qrCodeText = "BEGIN:VCALENDAR"+"%0D%0A"+
"VERSION:1.0"+"%0D%0A"+
"BEGIN:VEVENT"+"%0D%0A"+
"DTSTART:" + "19960401T090000" +"%0D%0A"+
"DTEND:" + "19960401T043000" +"%0D%0A"+
"SUMMARY:" + "Your Proposal Review"+"%0D%0A"+
"DESCRIPTION:" + "Steve and John to review newest proposal material"+"%0D%0A"+
"END:VEVENT"+"%0D%0A"+
"END:VCALENDAR"+"%0D%0A";
this.qrCodeText = decodeURIComponent(this.qrCodeText);
this.qrcode0 = new QRCode("qrcode", {
text: this.qrCodeText,
width: 363,
height: 385,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
}
Run Code Online (Sandbox Code Playgroud)
我自己使用库遇到了相同的错误,它似乎在库中存在一个错误,如果您使用CorrectLevel.H并在192到220个字符之间输入字符串,它将失败(请注意,错误消息中指定的长度为与字符串的长度不同)。它没有为QR码分配正确的空格/块数,然后捕获该错误。
可以通过增加/减少字符串长度超出该范围来解决。