V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yescola
V2EX  ›  macOS

关于 Safari 前进后退网页刷新机制的问题

  •  
  •   yescola · 2015-05-31 22:19:44 +08:00 · 10774 次点击
    这是一个创建于 3260 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 Safari 上使用双指前后滑动可以 前进/后退 页面。但是每次滑动到前一个页面时,地址栏都会出现进度条重新刷新网站(但是网页上内容的位置仍然停留在之前的位置)。

    那么问题来了:

    1、假设网速很慢,每次回到前一个页面都需要刷新的话,会不会影响用户体验?

    2、为什么 Safari 不考虑将之前浏览的某个数量级的网页缓存到内存或者 SSD 当中?这不是可以提高用户感受吗?

    3、目前看来,每次回到前一个页面时的刷新,会造成短暂的页面内容无法滚动或操作,是否有较好的办法可以弥补这个缺憾?

    4、Apple 为什么要这样设计 Safari ?(其实这应该是对前三个问题的总结。。)

    感谢各位。
    第 1 条附言  ·  2015-06-17 17:11:10 +08:00
    目前看来,每次回到前一个页面时的刷新,会造成短暂的页面内容无法滚动或操作,是否有较好的办法可以弥补这个缺憾?

    这个问题我停用掉了 adblock 之后,果然解决了。
    9 条回复    2015-06-01 11:33:32 +08:00
    zhizhuo
        1
    zhizhuo  
       2015-06-01 00:31:46 +08:00
    因为美国网速快.
    XerWandeRer
        2
    XerWandeRer  
       2015-06-01 01:43:37 +08:00
    1. 会。

    2. 有: https://www.dropbox.com/s/1fr947ccdhrxzvw/out.gif?dl=0

    3. 卸载 Adblock: https://discussions.apple.com/thread/4161818?tstart=0 (我为什么没有安装 Adblock: http://weibo.com/1633649882/CfGLEspdy?from=page_1005051633649882_profile&wvr=6&mod=weibotime&type=comment)

    4. Apple:怪我咯!

    楼主也是重庆的,能不能让学生党来参观下贵司呀?
    XerWandeRer
        3
    XerWandeRer  
       2015-06-01 01:49:59 +08:00
    呀… Dropbox 分享 gif 太不方便了: http://wanderer-miscellaneous.qiniudn.com/out.gif
    lawdoge
        4
    lawdoge  
       2015-06-01 02:47:12 +08:00
    其实Safari的逻辑应该是:
    Safari本身会缓存网页,但是每次后退需要确认一下缓存的网页和真实的网页有没有发生了更改(毕竟你的后退只是想看前一个网页而不是一个过期的网页),在Top Site的快照中也会有这种检测。如果你停在一个网页很久都没有后退,可能后退就要重新加载了。迅速的浏览的话应该是直接加载缓存

    那个进度条应该是safari监测网页有没有修改的进度条,如果没有更改很快就略过了。
    lzfxxx
        5
    lzfxxx  
       2015-06-01 03:36:38 +08:00
    @XerWandeRer 我试了一下卸载Adblock并没有用啊,V2本来后退就不会有条,别的本来有条的照样有。。我觉得4L说的挺有道理的,但如果照他说的,卸载adb就不应该会有用啊
    paradoxs
        6
    paradoxs  
       2015-06-01 08:02:01 +08:00
    美国网速那么快,人家根本不考虑这个问题。
    also24
        7
    also24  
       2015-06-01 10:30:13 +08:00
    我的 Safari 刷 V2 似乎一直有问题,后退以后,网页显示的内容和实际的焦点位置有偏移。
    会造成对着某个帖子的标题点下去,但是实际却点到了另个帖子的发帖人


    而且缓存的算法似乎也有问题:

    1、访问 V2 主页
    2、点进某个帖子
    3、返回 V2 主页
    4、点击 V2 导航栏刷新主页
    5、点进某个帖子
    6、返回 V2 主页

    此时有八成以上的几率,显示的是步骤 1 时的主页内容。
    XerWandeRer
        8
    XerWandeRer  
       2015-06-01 10:44:13 +08:00
    @lzfxxx 我后来稍微想了一下情况肯定也不会是这么简单。然后又做了一些搜索,看到了这个: https://www.webkit.org/blog/427/webkit-page-cache-i-the-basics/

    如果还要深究的话,最好是自己写一些用例测试一下咯~
    lzfxxx
        9
    lzfxxx  
       2015-06-01 11:33:32 +08:00
    @XerWandeRer 嗯,确实根据网站不同情况多变,暂时也并没有可靠的解决方案
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2378 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:08 · PVG 15:08 · LAX 00:08 · JFK 03:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.