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


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的函数重名看其初始化方式
Mar 08 Javascript
不安全的常用的js写法
Sep 15 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
JQuery中的$.getJSON 使用说明
Mar 10 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
Apr 15 Javascript
深入学习JavaScript中的Rest参数和参数默认值
Jul 28 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
详解Vue 2.0封装axios笔记
Jun 22 Javascript
React.js绑定this的5种方法(小结)
Jun 05 Javascript
vue更改数组中的值实例代码详解
Feb 07 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
关于crontab的使用详解
2013/06/24 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
基于iScroll实现内容滚动效果
2018/03/21 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
Python的Django框架中的表单处理示例
2015/07/17 Python
简单实现python进度条脚本
2017/12/18 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
python基于Selenium的web自动化框架
2019/07/14 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
新闻发布会主持词
2014/03/28 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Python3 类型标注支持操作
2021/06/02 Python
MySQL七大JOIN的具体使用
2022/02/28 MySQL
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python
Python序列化模块JSON与Pickle
2022/06/05 Python