收藏
回答

webview页面里面使用wx.miniProgram.redirectTo为什么有时候会失败?

webview页面里面使用wx.miniProgram.redirectTo有时候正常,有时候失败fail,报错:{"retCode":-1,"errMsg":"invokeMiniProgramAPI:permission denied"}

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <title></title>
    <style>
      *{margin: 0; padding: 0;}
      body{position: relative; height: 100vh;}
      .info{display: block; position:absolute; top: 30%; width: 100%; text-align: center; font-size: 18px;}
      .info p{margin-bottom: 15px;}
    </style>
    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
  </head>
  <body>
    <div id="info" class="info"></div>
  
    <script type="text/javascript">
      window.onload = function() {
      // 所有资源加载完成后执行
        function getQueryString(name) {
          var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
          var r = window.location.search.substr(1).match(reg);
          if(r != null) return unescape(r[2]); return null;
        }


        var code = getQueryString('code');
        var infoEle = document.getElementById('info');
        if (!code) {
          infoEle.innerHTML = '<p>页面错误,</p><p>请关闭页面后再重试!</p>';
        } else {
          try {
            wx.miniProgram.redirectTo({
              url: '/pages/transfer_logged/transfer_logged?code='+code,
              success: function(res) {
                console.log(res);
                infoEle.innerHTML = '<p>正在返回小程序...</p><p>' + JSON.stringify(res) + '</p>';
              },
              fail: function(res) {
                console.log(res);
                infoEle.innerHTML = '<p>微信跳转失败,</p><p>请稍后再试!</p><p>' + JSON.stringify(res) + '</p>';
              }
            });
          } catch (error) {
            console.log(error);
            infoEle.innerHTML = '<p>微信跳转错误,</p><p>请稍后再试!</p><p>' + JSON.stringify(error) + '</p>';
          }
        
        }
      };
    </script>
</body>
</html>



回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    09-16

    jssdk改成1.3.2试试

    09-16
    有用
    回复 4
    • Anne
      Anne
      09-16
      1.3.2不行,才从1.3.2换成的1.6.0的
      09-16
      回复
    • Mr.Zhao
      Mr.Zhao
      09-16回复Anne
      怎么个不行,文档写的1.3.2。我这边行
      09-16
      回复
    • Anne
      Anne
      09-16
      第一次或者前几次可以,有时候不行,不是必现,但是随着使用的次数增加概率变大
      09-16
      回复
    • Mr.Zhao
      Mr.Zhao
      09-16回复Anne
      不知道怎么复现  微信版本  手机型号你都没提供
      09-16
      回复
  • 智能回答 智能回答 本次回答由AI生成
    09-16
    有用
    回复
登录 后发表内容