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


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 相关文章推荐
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
Domino中运用jQuery读取视图内容的方法
Oct 21 Javascript
js对象数组按属性快速排序
Jan 31 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
基于vue2.0实现的级联选择器
Jun 09 Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
javascript性能优化之分时函数的介绍
Mar 28 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
Sep 10 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
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显示搜索引擎来的关键词
2014/02/13 PHP
php中require和require_once的区别说明
2014/02/27 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
jQuery入门知识简介
2010/03/04 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python中sys.argv参数用法实例分析
2015/05/20 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
Python实现微信机器人的方法
2019/09/06 Python
np.dot()函数的用法详解
2020/01/17 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
如何打开WebSphere远程debug
2014/10/10 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
追悼会上的答谢词
2014/01/10 职场文书
青年文明号复核材料
2014/02/11 职场文书
逃课上网检讨书
2014/02/20 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
三峡人家导游词
2015/01/31 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
单独二胎证明
2015/06/24 职场文书
小学远程教育工作总结
2015/08/13 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android