【每周一个小技巧】支付宝小程序如何跳转到支付宝搜索页面

简介: 【每周一个小技巧】支付宝小程序如何跳转到支付宝搜索页面

某天,产品童鞋问:我们的小程序需要做品宣,需要在别人的小程序跳转到支付宝的搜索页面并且搜索我们的小程序,用于展示搜索落地页样式。

那么能实现吗?如何实现呢?
通过“测试”发现,使用appId 20001003 可以实现该功能。测试代码如下:


通过以上代码测试发现可以跳转到搜索页面同时获取到焦点,但是无法自动搜索出结果。继续测试:给该地址增加keyword及版本号参数。目前展示页面是v2版本

JavaScript

let path = `https://render.alipay.com/p/s/i/?appId=20001003&keyword=青团社&v2=true`
my.ap.navigateToAlipayPage({
path,
complete: res => {
console.log(res);
}
})

实现效果图如下:


但是这会出现一个新的小程序,当我先搜索了一个其他的词,再通过小程序跳转过去会优先显示之前搜索的词,然后才会展示你小程序跳转过去的携带的搜索词。
可以这样解决:在地址栏上加上 `startMultApp=YES`
即:

JavaScript


https://render.alipay.com/p/s/i/?appId=20001003&keyword=青团社&v2=true&startMultApp=YES


原理:

在正常场景下,相同 APPID 的 H5App 只能存在一个实例。因此当 App1_page1 唤起了 App2_page1 时,如果 App2_page1 希望再跳转到 App1_page2 时,默认情况下会先将 App1_page1 唤起到前台后销毁然后再显示 App1_page2 页面,此时的动画效果就会显得非常突兀。(A1–>B1–>A2)
如果要解决这个问题,一般来说只需要在 App2_page1 唤起 App1_page2 时,携带上启动参数 startMultApp=YES 即可。 它的含义为允许重新创建一个 App1 的实例,代表了相同 APPID 可以同时存在多个实例,但是带来相应的隐患为它们虽然是相同的 APPID,但应用实例(可以理解为一个独立的浏览器进程)并不是同一个,应用生命周期也各不相同,如果有某些依赖应用生命周期的功能就会受到影响,比如 sessionData 之类在相同应用生命周期内共享数据的接口。

以上就是本周分享的小技巧,有问题欢迎留言评论。


目录
相关文章
|
18天前
|
缓存 小程序 UED
微信小程序如何在切换页面后原页面状态不变
微信小程序如何在切换页面后原页面状态不变
21 0
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
1月前
|
小程序
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
|
18天前
|
缓存 小程序 开发者
微信小程序如何刷新当前页面
微信小程序如何刷新当前页面
15 0
|
1月前
|
存储 JSON 小程序
【微信小程序】-- 页面处理总结(三十一)
【微信小程序】-- 页面处理总结(三十一)
|
1月前
|
JSON 小程序 API
【微信小程序】-- 案例 - 本地生活(列表页面)(三十)
【微信小程序】-- 案例 - 本地生活(列表页面)(三十)
|
1月前
|
小程序
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 页面事件 - 上拉触底(二十六)
【微信小程序】-- 页面事件 - 上拉触底(二十六)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 页面事件 - 下拉刷新(二十五)
【微信小程序】-- 页面事件 - 下拉刷新(二十五)
|
1月前
|
小程序 JavaScript
【微信小程序】-- 页面导航 -- 导航传参(二十四)
【微信小程序】-- 页面导航 -- 导航传参(二十四)

热门文章

最新文章