ChefIsAwesome
2017-04-06 09:25:28 +08:00
这东西为什么特别难搞?因为网页进到下一页,浏览器就把之前一页给销毁了,回退到之前一页,跟重新加载那一页没区别,这就让保留状态非常困难。可以尝试的解决办法有几个:一个是每次加载更多就改下 url ,一个是缓存,一个是不让那一页被销毁。
1.改 url 可以实现这个,但这意味着你每次后退都是“减掉”一部分加载出来的内容。跟 app 的体验还是不一样的。
2.缓存就得考虑什么时候清缓存的问题。得知道用户是新进入这个页面还是刚刚访问过这个页面,后退回来的。
3.不销毁那一页,就意味着以弹窗的形式展现页面。打开页面是显示弹窗,后退页面是关闭弹窗。这种情况就不能使用 url ,导航通过屏幕上的按钮实现,浏览器的后退不管用,安卓手机的后退也不管用。
所以,综合看起来,还是在“新标签中打开”这招简单实用靠谱。其实对于 web 来说,一个 app 中的每个页面都有 url ,每个页面都能在独立的“标签 /窗口”中操作,是它最大的特色。很多人都有这样的习惯:浏览列表,感兴趣的内容就在新标签中打开,回头再一个一个细看。这种体验在 native app 里完全没法实现。但是现在的 web 一味模仿 app 的设计,丢了自己的特色,让人很是失望。