qrcode.js的QRCode函数为何需传入URL作为参数?
关于QRCode.js中URL参数的作用与影响
那个URL参数就是二维码实际承载的核心数据,它直接决定了扫描二维码后会获取到的内容:
- 当你传入
www.webisora.com时,二维码存储的就是这个字符串,扫描后设备会识别为网址并跳转至该网站; - 换其他URL,比如
www.example.com,二维码存储的就是新的URL,扫描后会跳转到对应的新网站。
你觉得视觉上没差异,是因为你测试的URL长度相近——二维码的视觉复杂度只和内容的字符长度有关:短内容生成的二维码黑点分布稀疏,长内容(比如带一堆查询参数的URL)会让黑点更密集、排列更复杂。如果两个URL长度差不多,生成的二维码视觉上确实很难看出区别,但扫描后的行为完全不同。
结合你的代码来看:
var qrcode = new QRCode(qrcodeContainer, website);
这里的第二个参数website本质是要编码成二维码的文本内容(不止局限于URL,你传入普通字符串、手机号都能生成对应的二维码),QRCode.js会把这个内容转换成二维码图形。
你可以做个测试:传入www.webisora.com?param1=abc¶m2=def¶m3=ghi这种长URL,再和原来的短URL生成的二维码对比,就能明显看到视觉上的差异了。
内容的提问来源于stack exchange,提问作者camh203
相关产品推荐
相关产品推荐

