二维码破坏了特殊字符编码的哈希链接
QR code ruining hash link with special character encoding
使用名为jquery.qrcode的jquery插件和名为AT&在iPad上的TCodeScanner上,我的哈希链接将其特殊字符编码到其他内容中,因此破坏了哈希。我不确定这是否是二维码本身的性质问题,所以我把它贴在了这里。如果不是,我愿意删除它并将其移动到超级用户。
以下代码成功生成二维码。然而,当我在AT&TCodeScanner在iPad上,哈希标签后的所有特殊字符都会对它们执行等效的encodeURIComponent()操作("#"=>"%23","="=>"%3D等),扰乱了哈希链接。查看页面底部的实际扫描链接。
<div class="qr-3 qr-code"></div>
<script>
$(document).ready(function() {
$(".qr-3").qrcode({
render: 'image',
size: 86,
fill: '#000',
text: "http://www.google.com/search?tbm=shop&gws_rd=ssl#tbs=vw:l,mr:1,local_avail:1,seller:1311674%7C8740%7C1192406%7C9119074%7C3136905&q=lre3083st"
});
});
</script>
http://www.google.com/search?tbm=shop&gws_rd=ssl%23tbs%3Dvw%3Al%2Mr%3A1%2Local_avail%3A1%2Seller%3A1311674%257C8740%257C1192406%257C9119074%257C3136905%26q%3Dlre3083st
我刚刚尝试了同样的东西,看起来效果很好。这是我使用的代码:
$('#qrcodeholder').qrcode({
text : "http://www.google.com/search?tbm=shop&gws_rd=ssl#tbs=vw:l,mr:1,local_avail:1,seller:1311674%7C8740%7C1192406%7C9119074%7C3136905&q=lre3083st",
render : "canvas", // 'canvas' or 'table'. Default value is 'canvas'
background : "#ffffff",
foreground : "#000000",
width : 150,
height: 150
});
});
相同的html是:
<div id="qrcodeholder"> </div>
当我扫描时,我得到了相同的值,但我尝试使用另一个名为"条形码扫描仪"的二维码扫描仪。
我使用的是jquery.qrcode.js
,使用jQuery生成QR码对此有更多解释。然而,我注意到的一件突出的事情是,您可能希望将render:"image"
更改为render:"canvas"
。
相关文章:
- 在cshtml中对特殊字符进行编码
- 使用特殊字符 Javascript 对 URL 进行编码
- document.getElementById(foo).value,带有html编码的特殊字符
- JSON编码一个包含#和其他特殊字符的字符串
- 阻止自动HTML特殊字符编码
- 在 JavaScript/Python 中编码特殊字符
- 在 url 中编码特殊字符的最佳方法
- 二维码破坏了特殊字符编码的哈希链接
- Javascript中的特殊字符编码
- 如果尖括号是我的URL中唯一未编码的特殊字符,这本身就很危险吗
- 编码特殊字符<和比;在MVC参数
- 将特殊字符转换为Html编码字符
- W2ui特殊字符在弹出是HTML编码
- 如何从文本文件中为自动填充文本字段编码特殊字符
- 如何编码和解码javascript或jquery中的所有特殊字符
- 如何比较包含特殊字符的JavaScript字符串与PHP's htmlentities()编码的字符串
- 在javascript函数参数中编码特殊字符
- 如何编码和解码HTML特殊字符以获得实体名称
- 特殊字符的jQuery编码
- php编码特殊字符