摘要:正常情况下,一个微信小程序中的页面栈是不会超过10层的。如果在商品详情面添加相关商品,链接处理不当时就会出现页面栈超10层导致页面无法点击的情况。在上一篇提到的提前购流程中,由于链路太长,必然也会出现页面栈超10层的现象。但又考虑到用户体验,直接使用redirectTo或reLaunch都是流氓行为......
使用uni-app开发可以做到一套编码适配10端(目前官方是这样介绍的,随着时间推移可能会发生变化。),已经diao炸天了,但有些平台本身的限制还是无法解除的哈。标题中提到的页面栈超过10层是微信小程序自身的限制,超过10层的页面无法进行操作。什么意思呢?说直白点儿就是:当页面栈达到10层时,在该页面上点击不能正常跳转,像卡死了一样(部分情况例外,比如:switchTab、reLaunch)。如果看官在开发过程中碰到页面假死时,不要第一时间怀疑是自己写的代码有bug,首先应该检查下是不是页面栈到达了10层[:笑哭]。有关页面栈10层限制的描述,详情见微信官方文档说明:
微信官方解释:框架以栈的形式维护了当前的所有页面。当发生路由切换的时候,页面栈的表现如下:
|
小程序打开的第一个页面
|
这里放一个简单的示例视频:linkJump方法自动处理页面栈间的跳转避免页面栈超过10层.mp4(友情提示:点击上面的图片即可播放视频)
通过上面的视频可以看到,当页面栈到达7时通过走linkJump这个方法,页面栈的数量直接变成了2且能成功接收到url中传递过来的参数。页面栈一下子就空出了5个位置,这是一个很棒的操作。只要相关页面上链接都走这个方法,那就可以做到自动清空页面栈,不会出现页面栈堆到10层的情况。当然了,除非有另外一种情况发生,那就是:非Tab的页面存在10个不同的链接地址!如果是这种情况,那就没办法了。不过正常情况下业务逻辑也不会这么干,一条链路上有10个递进关系的页面,你咋不上天呢!
demo源码已上传到了github 上的dev-pagestack- 分支中。如果看官需要研究源码,可以点击下面的链接进行访问并下载。若看官发现有bug可及时和我联系,我会尽可能第一时间优化。
一写就是大半天,可真费时间。下两篇会说说关于《uni-app开发地图时的一些坑》,比如:定位不准、用户拒绝授权后无法唤醒授权......,敬请期待。
若亲想转载本文到其它平台,请务必保留本文出处!
若亲不想直保留地址,含蓄保留也行。艺灵不想再看到有人拿我的技术文章到他的地盘或者是其它平台做教(装)程(B)而不留下我的痕迹。文章你可以随便转载,随便修改,但请尊重艺灵的劳动成果!谢谢理解。
|
}
微信小程序越来越受小伙伴们的喜爱,随着许多小程序的出现,例如跳一跳等功能的上线,更是赢得更多人的关注。大家可知道有个新组件web–view可以直接打开url外部链接,对此,大家都有所了解吗?不了解也没事,小编接下来给大家介绍一下。
都希望小程序中能够直接打开url外部链接,
因为他们以前花了很多成本和时间,
现在一个好消息是,
推出一个新组件web-view,
可以在这个组件中打开你的html5网页,
而且可以在web-view里面打开网页的a标签,
也就是说可以实现链接跳转。
一、 小程序使用web-view打开链接的前提条件
并不是所有的外部url链接都能够在你的小程序里打开,
小程序里只能打开你业务域名中的网页,
观看《怎么设置小程序的业务域名》视频。
二、 小程序web-view打开html网页的方法
使用web-view打开网页的方法也很简单,
其中 src 的值就是你要打开网页的网址,
上面演示的链接是《秦子恒微信课堂》的网址,
三、 使用web-view跳转外部链接要注意的地方
由于web-view是新组件,
需要小程序基础库版本1.6.4以上才支持,
低版本的微信需要做兼容处理,
微信在我们的生活中起着越来越大的作用,给我们的日常生活带来巨大的影响。一些商家想要打开url外部链接,却不知道怎么弄?微信小程序可以来帮大家实现,以上便是小编为大家提供的微信小程序打开url外部链接的方法。如果想要了解更多关于微信小程序的内容,请多多关注。
}