小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在IPhone 6p中
wx.redirectTo({
url:'',
success:function(){ }
)
success方法已经运行,但页面没有跳转。
这个是偶发性问题,但很郁闷。
是不是微信小程序的bug啊?
11 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
在 onReady 调可以成功吗?onLoad 时可能页面没有启动好
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
请问是在哪里调的 redirectTo 呢?是只有 iOS 有吗?
@卖女孩的小男孩 “其他的有一大部分” 是指?
@邓坤力
应该不是也没没有启动好的原因吧?
因为view线程和js线程是两个不同的线程,在官方文档的什么周期流程图上来看,js线程执行完onLoad和onShow之后就会处于waiting notify,这个时候view线程完成inited之后就会notify js线程。所以onLoad就是在view线程inited完成之前执行。
所有我在onLoad里面跳转和当前页是否加载完成应该没有关系啊。
这个还真是没试过,不过有时候通过
wx.showLoading();
wx.request({
....
success:
function
(){
wx.showToast({xxxxxx});
},
complete:
wx.hideLoading()
}
})
里面的showToast没执行或者执行一下秒关,但是加了setTimeout后就可以正常执行
@邓坤力 官方
其一,导航类的就本都这样
其二,addPhoneContact、交互反馈的 都会这样,只要在onload的时候调用如果没加setTimeout的话就会导致调用失败,这个问题在安卓低端机上特别明显,在开发者工具偶尔也会出现,所以现在对跳转类和交互反馈类都进行二次封装,增加setTimeout。
另外之前开了个贴问关于如何在开发者工具里调试二维码接口B扫描进入的到今天也没人回复,如果知道如何调试的麻烦告知下,谢谢
在一个页面的onLoad方法里面,后来将延迟时间改为300后,测试了30次都成功了。我们就默认这算成功了(尽管不知道为何wx.redirectTo的success方法 明明执行成功,但页面就是不跳转的原因)
我之前设置350-400的,因为之前搞小程序前看到过有人说这是个坑,然后总感觉就像卡了一下,最后才设置为250,连贯性比较好了,话说这个问题从小程序诞生就有了,一直到现在都没人理过,都是默默滴用setTimeout去解决,而且除了跳转,其他的有一大部分也会这样
这个我之前也尝试了,我设置的是200,这个时候偶发性变小了,但依然还是会存在。哎,被这小程序弄到彻底没脾气了。
settimeout(
url:
''
,
},250);
我跳的是非tabBar页面,这个不能导航是偶发性的
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
在 onReady 调可以成功吗?onLoad 时可能页面没有启动好
请问是在哪里调的 redirectTo 呢?是只有 iOS 有吗?
@卖女孩的小男孩 “其他的有一大部分” 是指?
@邓坤力
应该不是也没没有启动好的原因吧?
因为view线程和js线程是两个不同的线程,在官方文档的什么周期流程图上来看,js线程执行完onLoad和onShow之后就会处于waiting notify,这个时候view线程完成inited之后就会notify js线程。所以onLoad就是在view线程inited完成之前执行。
所有我在onLoad里面跳转和当前页是否加载完成应该没有关系啊。
这个还真是没试过,不过有时候通过
wx.showLoading();
wx.request({
....
success:
function
(){
wx.showToast({xxxxxx});
},
complete:
function
(){
wx.hideLoading()
}
})
里面的showToast没执行或者执行一下秒关,但是加了setTimeout后就可以正常执行
@邓坤力 官方
其一,导航类的就本都这样
其二,addPhoneContact、交互反馈的 都会这样,只要在onload的时候调用如果没加setTimeout的话就会导致调用失败,这个问题在安卓低端机上特别明显,在开发者工具偶尔也会出现,所以现在对跳转类和交互反馈类都进行二次封装,增加setTimeout。
另外之前开了个贴问关于如何在开发者工具里调试二维码接口B扫描进入的到今天也没人回复,如果知道如何调试的麻烦告知下,谢谢
在一个页面的onLoad方法里面,后来将延迟时间改为300后,测试了30次都成功了。我们就默认这算成功了(尽管不知道为何wx.redirectTo的success方法 明明执行成功,但页面就是不跳转的原因)
我之前设置350-400的,因为之前搞小程序前看到过有人说这是个坑,然后总感觉就像卡了一下,最后才设置为250,连贯性比较好了,话说这个问题从小程序诞生就有了,一直到现在都没人理过,都是默默滴用setTimeout去解决,而且除了跳转,其他的有一大部分也会这样
这个我之前也尝试了,我设置的是200,这个时候偶发性变小了,但依然还是会存在。哎,被这小程序弄到彻底没脾气了。
settimeout(
function
(){
wx.redirectTo({
url:
''
,
success:
function
(){
}
)
},250);
我跳的是非tabBar页面,这个不能导航是偶发性的