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


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 面向对象的 私有成员和公开成员
May 13 Javascript
jQuery中对节点进行操作的相关介绍
Apr 16 Javascript
JavaScript通过元素的ID和name设置样式
Jul 08 Javascript
Javascript中实现String.startsWith和endsWith方法
Jun 10 Javascript
javascript的BOM汇总
Jul 16 Javascript
常用的js方法合集
Mar 10 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
在vue-cli中组件通信的方法
Dec 16 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
纯js+css实现在线时钟
Aug 18 Javascript
JavaScript经典案例之简易计算器
Aug 24 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实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
子页向父页传值示例
2013/11/27 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决
2015/11/09 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
致800米运动员广播稿
2014/02/16 职场文书
教师节活动主持词
2014/04/02 职场文书
中秋寄语大全
2014/04/11 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
考勤制度通知
2015/04/25 职场文书
css 中多种边框的实现小窍门
2021/04/07 HTML / CSS
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸