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


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 相关文章推荐
基于jquery的代码显示区域自动拉长效果
Dec 07 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
使用vue.js开发时一些注意事项
Apr 27 Javascript
拥Bootstrap入怀——导航栏篇
May 30 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
Jul 13 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
vue props 单项数据流实例分享
Feb 16 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
JavaScript的垃圾回收机制与内存管理
Aug 06 Javascript
用javascript制作qq注册动态页面
Apr 14 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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
python3中int(整型)的使用教程
2017/03/23 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
python实现串口通信的示例代码
2020/02/10 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
Html5新增标签有哪些
2017/04/13 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
软件研发工程师岗位职责
2014/09/30 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android