步骤:
1.重定向到地址://996315.com/api/scan/?redirect_uri=扫码结果接收页URL 2.在接收页里获取qrresult参数结果
一般用法:
<a href="//996315.com/api/scan/?redirect_uri=修改成你要接收扫码结果页面的url地址">Scan</a> <script type="text/javascript"> if (location.href.indexOf("qrresult=")>-1) alert(decodeURIComponent(location.href.split("qrresult=")[1])); </script> 复制代码
如果要接收扫码结果的页面就是当前页面,那么可以直接用location.href来指定。encodeURIComponent作用是兼容url有参数的情况,尤其是含#的情况,不用encodeURIComponent编码下的话会出现莫名其妙的错误。以下是完整代码。
<a href="javascript:window.open('//996315.com/api/scan/?redirect_uri=' + encodeURIComponent(location.href), '_self');">Scan</a> <script type="text/javascript"> if (location.href.indexOf("qrresult=")>-1) alert(decodeURIComponent(location.href.split("qrresult=")[1])); </script> 复制代码
###建议写成下面这样,对qrresult参数用专门的js函数来获取。这样最稳定。
<a href="javascript:window.open('//996315.com/api/scan/?redirect_uri=' + encodeURIComponent(location.href), '_self');">Scan</a> <script> var qr=GetQueryString("qrresult"); if(qr) alert(qr); //放入表单输入框或者提交到后端,具体根据自己业务做相应处理 function GetQueryString(name){ var reg = new RegExp("\\b"+ name +"=([^&]*)"); var r = location.href.match(reg); if (r!=null) return decodeURIComponent(r[1]); } </script> 复制代码
分类:
标签:
链接:https://juejin.cn/post/7224565444807344188
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。