WeChat次文コードスキャンインターフェース呼び出しメソッド

ステップ:

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、特に # を含む 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>

次のように記述し、特別な js 関数を使用して qrresult パラメータを取得することをお勧めします。これはより安定しています。

<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); //放入表单输入框或者提交到后端,具体根据自己业务做相应处理
    //window.open(qr, "_self"); //打开二维码中的网址
}
 
function GetQueryString(name){
      
      
    var reg = new RegExp("\\b"+ name +"=([^&]*)");
    var r = location.href.match(reg);
    if (r!=null) return decodeURIComponent(r[1]);
}
</script>

知らせ:

window.open を使用してコード スキャン インターフェイスを呼び出す場合は、必ず「_self」パラメータを追加してください。これは、現在のウィンドウを使用してコード スキャンを開くことを意味します。そうでない場合は、一般にポップアップ ウィンドウ。2022 年以降、Apple の携帯電話システムで使用される予定です。ポップアップ ウィンドウは完全に禁止されました。「_self」を付けないと無効になります。通常の js コードには、新しい iOS システムと互換性を持たせるために、常に「_self」を追加する必要があります。

おすすめ

転載: blog.csdn.net/sysdzw/article/details/130299857