收藏
回答

IOS 下 navigateToMiniProgram 成功后 小程序 假死

问题模块 框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
框架 小程序 Bug 客户端 iOS 6.6.6 或 6.6.3 1.9.94

功能:

小程序A 打开小程序B,在关闭小程序B或是返回到小程序A后;小程序A自动跳转到小程序A的webview页


实现与问题:

小程序A 中wx.navigateToMiniProgram 在其success 回调中 navigateTo 到 webview 页面;导致小程序卡死不能点击右上角关闭;


环境:

IOS 下


基础库版本 1.9.94




最后一次编辑于  2018-05-11
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2018-05-11

    麻烦提供一下出现问题的机型和微信版本,并且给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-05-11
    赞同
    回复 2
    • 罗小阎
      罗小阎
      06-20

      解决了吗

      06-20
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      06-20回复罗小阎

      单独发帖反馈下吧

      06-20
      回复
  • 王恒祎
    王恒祎
    2018-05-21

    问题相同,我也遇到了

    2018-05-21
    赞同
    回复 1
    • 风吹不散笑容
      风吹不散笑容
      09-25
      您好,请问下怎么解决的,我也遇到了。
      09-25
      回复
  • 宁静致远🦒
    宁静致远🦒
    2018-05-15

    机型: iphone6p iphone7 iphone8

    微信版本:6.6.6


    这个涉及到webview内页,小程序A ,和小程序B ,业务比较复杂;代码片段不好提供;我可以在评论区提供下核心代码: 小程序A 首页js


     // 默认进来根据option参数判断是否跳小程序

    onLoad: function (option) {

        // 开始小程序 的跳转

        let goUrl = option.url;

        let isToTaolibao = /^\/\/wxapp/.test(goUrl);

        let sessionId = getApp().globalData.sessionId;

        let obj = {}, parm = '?';

        for (var o in option) {

        if (o != 'url') {

            let key = o;

            obj[o] = option[o];

            parm += o + '=' + option[o];

            }

        }

        obj['sessionId'] = sessionId;

        // 跳淘礼包

        if (isToTaolibao) {

            let goMiniUrl = goUrl.replace(/\/\/wxapp/, '');

            goMiniUrl += parm;

            this.goTaolibao(goMiniUrl, obj);

        };

    },

     // 跳转小程序B

    goTaolibao: function (opt, obj) {

        wx.navigateToMiniProgram({

            appId: config.taolibaoAppid, // 正式版

            path: opt,

            extraData: obj,

            envVersion: 'trial',

            success(res) {

                // 打开成功

                console.log('跳转成功');

            },

            complete () => {

                this.goWebview();

            },

            fail(err) {

            console.log(err);

            }

        });

    },

    // 跳转成功后,小程序A后台自动跳转webview页(假死现象应该是在这一步产生的,但这也非必现,IOS 下 10次有6,7次出现)

    goWebview: function () {

        // 解决淘礼包小程序返回试驾夺宝 页面堆栈数过高 打开不了其他页面

        var pages = getCurrentPages().length;

        if (pages > 1) {

            wx.redirectTo({

                url: this.data.navigateSJDB

            });

        } else {

            wx.navigateTo({

                url: this.data.navigateSJDB

            });

        }

    }


    2018-05-15
    赞同
    回复 1
    • 风吹不散笑容
      风吹不散笑容
      09-25
      大哥最后怎么解决的
      09-25
      回复