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


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 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
Dec 21 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
多个checkbox被选中时如何判断是否有自己想要的
Sep 22 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
jQuery简单实现中间浮窗效果
Sep 04 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
微信小程序封装的HTTP请求示例【附升级版】
May 11 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
Jquery使用each函数实现遍历及数组处理
Jul 14 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图片验证码制作实现分享(全)
2012/05/10 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
轮播图组件js代码
2016/08/08 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
用Python编写简单的微博爬虫
2016/03/04 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
python标准库OS模块详解
2020/03/10 Python
python使用建议与技巧分享(二)
2020/08/17 Python
Django url 路由匹配过程详解
2021/01/22 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
Collection和Collections的区别
2016/05/02 面试题
请说出几个常用的异常类
2013/01/08 面试题
篮球赛口号
2014/06/18 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书