![]() |
1
104
一个答案是:除其他外, 卸载事件导致后退/前进缓存无效 . 有些浏览器将整个网页的当前状态存储在所谓的“bfcache”或“page cache”中。这允许他们在通过后退和前进按钮导航时快速地重新呈现页面,并保留dom和所有javascript变量的状态。但是,当页面包含OnUnload事件时,这些事件可能会使页面处于非功能状态,因此页面不存储在bfcache中,必须重新加载(但可以从标准缓存加载)并重新从头呈现,包括运行所有OnLoad处理程序。当通过bfcache返回到页面时,dom将保持其先前的状态,而不需要触发onload处理程序(因为页面已经加载)。 请注意,对于缓存控制和其他HTTP头,bfcache的行为与标准浏览器缓存不同。在许多情况下,浏览器会将页面缓存在bfcache中,即使它不会以其他方式存储在标准缓存中。
|
![]() |
2
13
我一直在尝试让Chrome像Safari那样表现,我发现唯一有效的方法就是
|
![]() |
3
3
Facebook通过修改Ajax请求的URL中的散列标识符来记住页面状态。这些更改记录在浏览器历史记录中,因此当用户单击后退按钮时,哈希值将更改为以前的值。因此,这意味着您将需要一些JavaScript来监视has标识符,并在浏览器更改它时做出反应。 Andreas Blixt has a hash monitoring script available . |
![]() |
4
3
这与哈希()符号无关。 如果你要检查苹果的HTTP报头,它只是在缓存页面。 |
![]() |
5
2
在依赖Ajax和DOM更新的Web应用程序中,使用URL哈希/片段标识符是一种非常常见的挂接/记忆状态的方法。 退房 Really Simple History 计划一些想法。可以监视URL对散列的更改,而rsh可以这样做,同时考虑到浏览器的差异。 |
![]() |
6
1
任何遇到问题的人
希望这能节省你一些时间,让你的头撞到墙上。 |
![]() |
7
0
您要查找的是某种类型的URL哈希管理。URL中的仅用于客户端。 当您使用JS更改背面的状态时,您将更新URL中的数据。 此外,还可以添加一些类型的轮询,以监视哈希是否已更改,并根据哈希中的新数据加载页面状态。 看看这个: |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |