1
ChefIsAwesome 2017-04-06 08:14:11 +08:00 via Android
target=blank 可破
|
2
crysislinux 2017-04-06 08:18:44 +08:00 via Android
比较讨厌加载更多这种方式,手机端尤其讨厌。
1.长按选择在新标签页打开 2. 详情页就在列表页弹个 dialog 来显示。如果是 spa ,检测到触发列表页的是 popstate ,就使用之前的数据而不是重新加载列表页的数据。运气好的话,浏览器会保证滚动位置,运气不好的话,就只有自己保存滚动位置,然后恢复位置了。另外一个办法就是路由从列表页到详情页的时候不要销毁列表页,这样直接返回就是了 |
3
Hello1995 2017-04-06 08:23:47 +08:00 via Android
默默想起了张大妈……
|
4
syG6WNaS 2017-04-06 08:26:28 +08:00
location.hash
|
6
gdtv OP @crysislinux 我一般都是长按选择在新标签页打开, 但是这个变态的网站无法长按在新标签打开 http://m.smzdm.com/
|
7
nfroot 2017-04-06 09:09:52 +08:00
这些程序员完全就不考虑你点击去了别的页面,还要点击回来的情况,也不知道他们的产品工程师是怎么想的,就连 bat 这样的大厂的主业务也喜欢搞这样的缺陷。
|
8
ChefIsAwesome 2017-04-06 09:25:28 +08:00
这东西为什么特别难搞?因为网页进到下一页,浏览器就把之前一页给销毁了,回退到之前一页,跟重新加载那一页没区别,这就让保留状态非常困难。可以尝试的解决办法有几个:一个是每次加载更多就改下 url ,一个是缓存,一个是不让那一页被销毁。
1.改 url 可以实现这个,但这意味着你每次后退都是“减掉”一部分加载出来的内容。跟 app 的体验还是不一样的。 2.缓存就得考虑什么时候清缓存的问题。得知道用户是新进入这个页面还是刚刚访问过这个页面,后退回来的。 3.不销毁那一页,就意味着以弹窗的形式展现页面。打开页面是显示弹窗,后退页面是关闭弹窗。这种情况就不能使用 url ,导航通过屏幕上的按钮实现,浏览器的后退不管用,安卓手机的后退也不管用。 所以,综合看起来,还是在“新标签中打开”这招简单实用靠谱。其实对于 web 来说,一个 app 中的每个页面都有 url ,每个页面都能在独立的“标签 /窗口”中操作,是它最大的特色。很多人都有这样的习惯:浏览列表,感兴趣的内容就在新标签中打开,回头再一个一个细看。这种体验在 native app 里完全没法实现。但是现在的 web 一味模仿 app 的设计,丢了自己的特色,让人很是失望。 |
9
Luckyray 2017-04-06 14:02:10 +08:00 via iPhone
1 :详情页用遮罩层来实现,这个 pc 端用的比较多,手机本来就小,不太合适再开一层。
2 : cookie 上记下来分页参数,再次访问的时候直接加载这一页,之前做的时候就这么弄得。我个人也是极其反感看完文章详情,辛辛苦苦拉下来的好几页都不见了。 3 :缓存?没仔细想过具体实现。 |
10
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.
|