不论是通过浏览手动输入的方式还是浏览器网页中的a链接打开
ios端的问题如下
比如
第一次打开 hbuilder://abc,此时获取到的是 空字符串
第二次打开 hbuilder://def,此时获取到的是 abc
第三次打开 hbuilder://ghi,此时获取到的是 def
获取到的始终为上一次的值,而不是当前传递的值
请看下图解析
android端和ios端都存在的问题如下
上图中,反复执行第3步,始终可以获取到最后一次传递的值
plus.runtime.arguments 如果不是由第三方程序调用启动,则应该返回空字符串才对
如果一定要复现DEMO,可查看附件中的DEMO,没有任何骚操作
很早就有这样的问题了,都有人提过
雨夜敬清秋 (作者)
更新了帖子附件,可以查看图片中的解析
2020-03-17 16:53
雨夜敬清秋 (作者)
你好,复现出来了吗
2020-03-18 16:58
雨夜敬清秋 (作者)
人呢,怎么音信全无了?
2020-03-19 14:21
CLP
回复 雨夜敬清秋: let args = plus.runtime.arguments,这个获取不在App.vue里,放到其他页面有问题吗
2020-03-19 14:55
雨夜敬清秋 (作者)
回复 CLP: 如果不在App.vue里获取启动应用的参数,那就没意义啊,既然我通过H5来唤醒APP,那我不可能在所有页面的onShow里去写一个接收参数的逻辑吧,难道不应该是在App.vue里接收到参数后处理参数吗?
2020-03-19 15:14
雨夜敬清秋 (作者)
回复 CLP: 刚试了,放到其他页面也是同样的问题啊,你说你经过测试,不管是v3模式下,还是其他情况,都没复现出来,我就很奇怪你是怎么把这个功能玩正常的,要不你把你跑正常的代码贴出来我观摩下如何?
2020-03-19 15:30
CLP
回复 雨夜敬清秋: setTimeout(() => {
let args = plus.runtime.arguments
console.log('args:', args)
}, 0); 你这样试一下
2020-03-19 15:40
雨夜敬清秋 (作者)
回复 CLP: 牛逼,这个奇技淫巧确实可以正常的获取到参数,但是另一个问题还是存在,即反复执行第3步,始终可以获取到最后一次传递的值,plus.runtime.arguments 如果不是由第三方程序调用启动,则应该返回空字符串才对,并且反复执行第3步,plus.runtime.launcher 获取到的值也是uniLink或者scheme,如果不是由第三方程序调用启动应该返回 default 才对,这个问题有奇技淫巧解决吗?
2020-03-19 15:49
CLP
回复 雨夜敬清秋: 你都不把问题背景描述情况,谁天天猜你怎么写的
2020-03-19 15:50
CLP
回复 雨夜敬清秋: 你的意思是获取到arguments 后清空是吗
2020-03-19 15:56
雨夜敬清秋 (作者)
回复 CLP: 是的,我只是需要处理从 H5 唤起 APP 时的情况,如果唤起一次后,我再进行普通的前后台切换,那么我处理参数的逻辑还是会被执行
2020-03-19 15:59