如今咱們有個需求,識別二位碼,並將掃碼結果保存,傳遞到另外的網頁。下面是方法。php
另外注意!這是微信公衆號調用。須要微信配置信息。須要引入前置JS。http協議網站引入「http://res.wx.qq.com/open/js/jweixin-1.0.0.js」,https協議網站引入「https://res.wx.qq.com/open/js/jweixin-1.0.0.js」.html
有錯誤跟我說一聲。api
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> <title>調用掃一掃</title> </head> <body> <div>點我調用掃一掃</div> </body> <script src='https://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script> <script> var div=document.querySelector('div'); var data;//接受配置信息,後臺給的 var getWxConfig=function(){ var xhr=null; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); } else if(window.ActiveXObject){ xhr=new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open('post','getWxConfig.php'); xhr.onreadystatechange=function(){ if(xhr.readyState==4&&xhr.status==200){ data=(xhr.responseText); } }; xhr.send(openID); } getWxConfig(); div.onclick=function(){ wx.config({ debug : false, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。 // debug : true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。 appId : data.appId, // 必填,公衆號的惟一標識 timestamp : data.timestamp, // 必填,生成簽名的時間戳 nonceStr : data.noncestr, // 必填,生成簽名的隨機串 signature : data.signature,// 必填,簽名,見附錄1 jsApiList : ['checkJsApi', 'scanQRCode'] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2 }); wx.ready(function() { wx.scanQRCode({ needResult: 1, // 默認爲0,掃描結果由微信處理,1則直接返回掃描結果, scanType: ["qrCode","barCode"], // 能夠指定掃二維碼仍是一維碼,默認兩者都有 success: function (res) { var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果 console.log(res); alert(res); var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果 sessionStorage.setItem('saomiao_result',result); //其它網頁調用二維碼掃描結果: //var result=sessionStorage.getItem('saomiao_result'); } }); }); } </script> </html>