2023-11-06 bigbai
1、移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用架构。传统的单页应用基于的值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持属性的6-7需要设置定时器不断检查值改变,性能上并不是很友好。而如今,在移动端开发中5规范给我们提供了一个接口,使用该接口可以自由操纵历史记录。本文并不详细介绍接口,而是探究接口如何影响浏览器历史堆栈,并且利用这个规律应用到具体的实际业务中,提出两种历史记录保存策略,使路由逻辑更清晰。
2、5包括2个方法:(),和1个事件:。(,),包括三个参数。第一个参数用于存储该对应的状态对象,该对象可在事件中获取,也可在对象中获取。
3、第二个参数是标题,目前浏览器并未实现。第三个参数则是设定的。一般设置为相对路径,如果设置为绝对路径时需要保证同源。
4、函数向浏览器的历史堆栈压入一个为设定值的记录,并改变历史堆栈的当前指针至栈顶。在这里笔者使用历史堆栈和当前指针,用以说明浏览器对历史记录的管理策略。文档中并没有使用这样的词汇,笔者为了更形象的介绍接口对浏览器历史记录的影响,使用这样的描述,如有不当之处请及时指出,不过目前以这套模型为基础的逻辑实现中并未出现悖论,该接口与参数相同,含义也相同。
5、唯一的区别在于是替换浏览器历史堆栈的当前历史记录为设定的。需要注意的是,不会改动浏览器历史堆栈的当前指针。该事件是的属性。
1、该事件会在调用浏览器的前进、后退以及执行、和。触发,因为这些操作有一个共性,即修改了历史堆栈的当前指针。
2、在不改变的前提下,一旦当前指针改变则会触发事件。最常见的单页应用场景:列表页、商品详情页以及其内部的其他链接入口如图片页、评论页及其推荐其他商品详情页。以上提到的已经涉及到了4个单独业务逻辑页面,推荐的商品可复用商品详情页逻辑,分别是:列表、详情、图片详情和评论。将这4个页面合并到一个页面中,这就是最简单的。
3、为了用户的良好体验,必须设计合理的交互逻辑,最直观的就是浏览器,或手机、微信公众号,的后退和前进必须合乎业务逻辑特点。因此,这就涉及到了的使用,也牵扯到浏览器的历史记录管理。
4、上图为具体的逻辑示意图。在列表页,点击其中一个商品,这里是商品1,进入详情页。详情页包括了该商品的轮播图、商品的图片详情入口、评论入口和推荐的其他商品入口。
5、接下来进行如下操作:进入图片详情页,后退至详情页再进入评论页;后退至商品1详情页再由推荐商品入口进入商品9详情页,同样在商品9详情页进入图片详情页和评论页,再后退至商品9详情页;由推荐商品入口进入商品34详情页,再进行类似操作。最后保证在商品34图片详情页或评论页可以顺利后退至最初的商品列表页。
原文链接:https://www.bigbai.cc/news/7389.html
本文版权:如无特别标注,本站文章均为原创。