开发的时候遇到了这么一个问题,由于URL太长,生成二维码的时候太密集,导致扫描起来非常困难。因此想到了短链接,网上查了查资料,说可以用新浪的API来生成短链接,就可以将一个很长的链接变的很短,从而二维码变得特别清晰。
首先,引入JQuery.js和QrCode.js,代码如下:
<script type="text/javascript" src="/js/base/jquery-qrcode.js"></script>
<script type="text/javascript" src="/js/base/jquery.js"></script>
然后:通过如下代码来获取短链接并生成二维码
function getQRCode(){
var qrCodeUrl = null;
try {
qrCodeUrl = "http://ailikes.iteye.com";
$.ajax({
url:"http://api.t.sina.com.cn/short_url/shorten.json?source=209678993&url_long="+qrCodeUrl,
dataType:"jsonp",
jsonp:"callback",
type:"get",
success:function(json){
genQrcode(json[0].url_short);// 生成二维码
}
});
}catch(e){
}
}
注意:由于我们访问新浪API属于跨域访问,因此需要使用JSONP的方式来获取短链接。