微信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/qrcodejs2@0.0.2/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 中的支付链接

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值