微信小程序新手教程之页面打开数量限制


Posted in Javascript onMarch 03, 2019

前言

众所周知,无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的。当点击页面的回退按钮就是把当前页面关闭。

这个过程中会涉及到一个问题,就是打开页面的数量。在某些设计下,比如一个商品详情页面中会推荐其他的商品,这些商品点进去就是详情页面。详情页面中又有推荐,又可以点进去。这样重复下去打开的页面就会越来越多。

如果不做限制,当打开数量到一定程度的时候肯定会卡死了。在微信小程序中打开的页面不能超过10个,达到10个页面后,就不能再打开新的页面。

之前出现这个问题,还以为是Bug,是不是卡死了,后来发现只要回退一个页面又可以重新打开了。才发现了最大10个页面的限制。

特意调研了其他公司的小程序,发现确实有这个问题。我这边就做了一个提示告诉用户不能打开这么多页面,不然用户会一脸茫然,点着点着就点不了。

每个页面都会需要跟后台交互加载数据,我这边在统一的Http请求中进行判断。

实例代码

var pages = getCurrentPages();
 console.log("pages:" + pages.length);
 if (pages.length == 10) {
  wx.showToast({
  title: "页面打开太多,请回退关闭几个页面",
  icon: 'none',
  duration: 2000
  })
  setTimeout(() => {
  wx.navigateBack({

  })
  }, 2000)
  return;
 }

当打开第10个页面的时候,给出提示,然后跳回上一个页面。

微信小程序新手教程之页面打开数量限制

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
Nov 28 Javascript
javascript中Object使用详解
Jan 26 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
js实现图片轮播效果
Dec 19 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
AngularJS 表达式详细讲解及实例代码
Jul 26 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
checkbox:click事件触发span元素内容改变的方法
Sep 11 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
Mar 09 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 #Javascript
JS+php后台实现文件上传功能详解
Mar 02 #Javascript
JS事件绑定的常用方式实例总结
Mar 02 #Javascript
JS实现获取数组中最大值或最小值功能示例
Mar 02 #Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 #Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 #Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
Mar 01 #Javascript
You might like
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python文件处理
2016/02/29 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python 的类、继承和多态详解
2017/07/16 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python常用外部指令执行代码实例
2020/11/05 Python
美国Max仓库:Max Warehouse
2020/05/31 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
总裁秘书岗位职责
2013/12/04 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
绩效管理实施方案
2014/03/19 职场文书
软件项目开发计划书
2014/05/01 职场文书
文明工地标语
2014/06/16 职场文书
中国梦读书活动总结
2014/07/10 职场文书
实习生个人总结范文
2015/02/28 职场文书
成事在人观后感
2015/06/16 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
教你怎么用python实现字符串转日期
2021/05/24 Python