gpt4 book ai didi

ruby-on-rails-3 - 导轨 3 : How to prevent the browser from loading a page from cache on back/forward navigation?

转载 作者:行者123 更新时间:2023-12-05 08:01:48 27 4
gpt4 key购买 nike

我有以下情况:

A页:/something/new
回发到:/something/create
重定向到页面 B:/something/edit

到目前为止一切正常。现在,/something/edit 是一个允许您通过 AJAX 做很多事情的页面,所以它开始时是空的,并且当您使用它时它会变得“更丰富”,可以这么说。如果您随时重新加载,您会取回所有内容,由服务器呈现。

但是,如果在被重定向并修改页面后,您再次点击“后退”和“前进”,浏览器(至少是 Chrome)不会再次访问服务器(即使是 Etag 检查也不会导致304,什么都没有),它只是从缓存中加载页面 B,页面 B 显示为空,并且可能非常困惑...

当第一次呈现页面 B 时,服务器响应以下 header :

Cache-Control:must-revalidate, private, max-age=0
Connection:Keep-Alive
Content-Length:18577
Content-Type:text/html; charset=utf-8
Date:Thu, 02 Aug 2012 20:19:59 GMT
Server:WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20)
Set-Cookie: (redacted)
X-Miniprofiler-Ids:["ma2x1rjc0kgrijiug5dj","nnmovj2wz1lux85jwhd3"]
X-Request-Id:2dd3fa62799beadc1b39b8db1aa5f45f
X-Runtime:0.245014
X-Ua-Compatible:IE=Edge

我没有看到 Etag 或任何可能令人烦恼的类似内容。另外,如果我正确地解释了“缓存控制”(虽然我对它不是很有经验),它似乎是在说不要缓存永远 ...

有什么办法可以避免这种行为,让浏览器在后退/前进时再次访问服务器?

谢谢!
丹尼尔

最佳答案

我会调查此处发布的答案。

Is there a cross-browser onload event when clicking the back button?

我刚刚更改了这个答案,因为我提到的一些实用程序已经很旧并且没有维护,这不是一个有用的答案。

关于ruby-on-rails-3 - 导轨 3 : How to prevent the browser from loading a page from cache on back/forward navigation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785174/

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