微信h5 支付,已經獲得weixin://wap/pay?prepayid,但是無法調起微信客戶端支付

經過幾個接口,最終獲得一個包含調起微信客戶端的支付鏈接

但是直接打開這個頁面,卻不能調起微信客戶端支付,原因是,在打開新頁面的時候,需要設置  a.rel = "noreferrer";

<body>
<a href="javascript:void(0)" onclick="openNewWindowNoreferrer(this)">點擊支付</a>
</body>
<script src="https://libs.cdnjs.net/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/qrcode.js"></script>
<script type="text/javascript">
    //判斷是否是IE
    function isIE() {
        if (!!window.ActiveXObject || "ActiveXObject" in window)
            return true;
        else
            return false;
    }
    //ie不帶referer打開url,url要打開的鏈接,blankurl指向一個空頁面
    function ieNorefererOpen(url, blankurl) {
        if (blankurl === undefined) {
            //blankurl = null;
            blankurl = "https://www.alipay.com/";
        }

        var win = window.open(blankurl, '_blank');
        var doc = win.document;
        doc.body.innerHTML='';
        //doc.clear();
        doc.write('<html><head><meta http-equiv="Refresh" content="0; URL=' + url + '"/><meta name="__hash__" content="a7f55f8c2998c0e892ee07994c6c48a6_7dc297b550c20b088c34f63cad13fea8" /></head><body></body></html>');
        doc.close();
    }
    var full_link = "weixin:\/\/wap\/pay?prepayid%3Dwx021611457196396d56be1d871710454700\u0026package=328998914\u0026noncestr=1585815194\u0026sign=2144fbd3bd301771d574f2d5cb9aee89";
    //在新的窗口不帶referer打開鏈接,a超鏈接對象,full_link要打開的鏈掿
    function openNewWindowNoreferrer(a) {
        if (isIE()) {
            a.rel = "noreferrer";
            a.target = "_self";
            ieNorefererOpen(full_link);
        } else {
            a.rel = "noreferrer";
            a.target = "_blank";
            a.href = full_link;
        }
    }
</script>

點擊支付 鏈接會打開full_link 中的支付鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章