gpt4 book ai didi

webkit - PJAX:后退按钮问题

转载 作者:行者123 更新时间:2023-12-03 11:43:32 25 4
gpt4 key购买 nike

我们的某些链接由PJAX包装。当用户单击PJAX链接时,服务器仅返回HTML的必需部分。

如果我执行以下操作:

  • 单击PJAX链接
  • 单击简单链接
  • 按下返回按钮

  • 浏览器将显示由PJAX请求返回的内容。 HTML将被破坏,因为它只是要显示的HTML的一部分(请检查 this question)。

    我们试图通过不缓存PJAX响应( Cache-Control header )来解决此问题。这解决了我们的问题,但提出了另一个问题:
    当用户按下“后退”按钮时,WebKit(Chrome 20.0)从服务器加载全部内容,然后触发 popstate事件,该事件导致不必要的PJAX请求。

    是否可以重新创建正确的后退按钮行为?

    最佳答案

    这完全取决于服务器缓存设置。您的浏览器会缓存来自服务器的AJAX响应,当您单击“后退”按钮时,它将使用缓存的版本。

    为了防止缓存,请在服务器上设置以下 header :

    'Cache-Control' => 'no-cache, no-store, max-age=0, must-revalidate'
    'Pragma' => 'no-cache'

    如果您使用的是Rails,那么绝对可以尝试Wiselinks https://github.com/igor-alexandrov/wiselinks。它是用于浏览器状态管理的瑞士军刀。以下是一些详细信息: http://igor-alexandrov.github.io/blog/2013/07/11/the-way-to-wiselinks-1-dot-0/

    关于webkit - PJAX:后退按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663878/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com