其实很简单,几乎是开箱即用。接口地址是://996315.com/api/scan/
- 首先在a标签中链接指向它
<a href="//996315.com/api/scan/">扫码</a>
- 当链接被点击,它就会去调用扫一扫,然后会再跳转回来,此时网址已经多了个qrresult参数,扫码扫到的内容就在附在这个参数后面,去获取这个参数的内容即可。
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> var qr=getQueryVariable("qrresult"); if(qr.length>0){ alert(qr);//取到的内容,可以放到你表单的input文本框中,或者提交到后台 } function GetQueryString(name){ var reg = new RegExp("\\b"+ name +"=([^&]*)"); var r = location.href.match(reg); if (r!=null) return decodeURIComponent(r[1]); } </script>
取到了扫码结果下一步你是决定放文本框还是提交到后台看你业务需要了
其实调用接口还有另外一种方式,即:
<a href="//996315.com/api/scan/?redirect_uri=你的url地址">扫码</a>
功能经过测试是一样的,这个和上面的区别就是明确指定了扫码后将结果发送到指定url。 如果是本页面回调的话就用默认的不带参数的,更省事。 如果需要把扫码结果发送到指定页面就得用上redirect_uri这个参数,告诉接口扫码后跳转到那个页面。
另外,如果你不是用a标签,那么可以在事件中用js代码window.open来打开这个接口地址,也是一样的效果。
ps:缺省redirect_uri参数可能会出现异常,目前在苹果ios系统15.4.1上发现无法获取来源地址的问题,根本原因是高版本的苹果操作系统升级了安全机制,使得referer只能获取域名,如果是ip方式的就只能获取ip地址,后面的目录及文件名还有参数都获取不到。所以建议还是加上redirect_uri参数。