手机网页“加载更多”如何返回当前页?

2017-04-06 07:38:54 +08:00
 gdtv
发现有很多网站都是用加载更多的方式加载文章。翻了几页之后,点击进入文章的详情页面,再点击返回键返回列表页,这个时候返回的是列表的首页,感觉这样的用户体验非常不好啊。

1,对于普通用户来说,遇到这样的网站,如何返回当前列表页面?
2,对于开发者来说,如何保证用户返回的是当前列表页面?
1779 次点击
所在节点    问与答
10 条回复
ChefIsAwesome
2017-04-06 08:14:11 +08:00
target=blank 可破
crysislinux
2017-04-06 08:18:44 +08:00
比较讨厌加载更多这种方式,手机端尤其讨厌。
1.长按选择在新标签页打开
2. 详情页就在列表页弹个 dialog 来显示。如果是 spa ,检测到触发列表页的是 popstate ,就使用之前的数据而不是重新加载列表页的数据。运气好的话,浏览器会保证滚动位置,运气不好的话,就只有自己保存滚动位置,然后恢复位置了。另外一个办法就是路由从列表页到详情页的时候不要销毁列表页,这样直接返回就是了
Hello1995
2017-04-06 08:23:47 +08:00
默默想起了张大妈……
syG6WNaS
2017-04-06 08:26:28 +08:00
location.hash
gdtv
2017-04-06 08:55:51 +08:00
@Hello1995 张大妈不仅有这个问题,他的列表页还不能在新窗口打开详情页
gdtv
2017-04-06 08:58:23 +08:00
@crysislinux 我一般都是长按选择在新标签页打开, 但是这个变态的网站无法长按在新标签打开 http://m.smzdm.com/
nfroot
2017-04-06 09:09:52 +08:00
这些程序员完全就不考虑你点击去了别的页面,还要点击回来的情况,也不知道他们的产品工程师是怎么想的,就连 bat 这样的大厂的主业务也喜欢搞这样的缺陷。
ChefIsAwesome
2017-04-06 09:25:28 +08:00
这东西为什么特别难搞?因为网页进到下一页,浏览器就把之前一页给销毁了,回退到之前一页,跟重新加载那一页没区别,这就让保留状态非常困难。可以尝试的解决办法有几个:一个是每次加载更多就改下 url ,一个是缓存,一个是不让那一页被销毁。
1.改 url 可以实现这个,但这意味着你每次后退都是“减掉”一部分加载出来的内容。跟 app 的体验还是不一样的。
2.缓存就得考虑什么时候清缓存的问题。得知道用户是新进入这个页面还是刚刚访问过这个页面,后退回来的。
3.不销毁那一页,就意味着以弹窗的形式展现页面。打开页面是显示弹窗,后退页面是关闭弹窗。这种情况就不能使用 url ,导航通过屏幕上的按钮实现,浏览器的后退不管用,安卓手机的后退也不管用。

所以,综合看起来,还是在“新标签中打开”这招简单实用靠谱。其实对于 web 来说,一个 app 中的每个页面都有 url ,每个页面都能在独立的“标签 /窗口”中操作,是它最大的特色。很多人都有这样的习惯:浏览列表,感兴趣的内容就在新标签中打开,回头再一个一个细看。这种体验在 native app 里完全没法实现。但是现在的 web 一味模仿 app 的设计,丢了自己的特色,让人很是失望。
Luckyray
2017-04-06 14:02:10 +08:00
1 :详情页用遮罩层来实现,这个 pc 端用的比较多,手机本来就小,不太合适再开一层。
2 : cookie 上记下来分页参数,再次访问的时候直接加载这一页,之前做的时候就这么弄得。我个人也是极其反感看完文章详情,辛辛苦苦拉下来的好几页都不见了。
3 :缓存?没仔细想过具体实现。
Williamp
2017-04-06 19:49:55 +08:00
@ChefIsAwesome Target=_blank increases the bounce rate of the website. For this issue, proper navigation should be there to access the previous page and this will help to improve user's experience as well as easy to go back.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX