gpt4 book ai didi

jquery - 按下浏览器后退按钮后使用 Jquery 重新加载或维护 DOM 状态

转载 作者:行者123 更新时间:2023-12-01 01:28:23 24 4
gpt4 key购买 nike

我需要一个浏览器页面来在用户导航离开并点击后退按钮返回后保持其 ajax 更改后的状态。不幸的是,以前用 jQuery 淡出的项目是可见的,或者一旦用户点击后退按钮返回页面,动态添加的项目(通过 ajax)就会消失。

我尝试了大约 20 种不同的无缓存元和 header 解决方案,但似乎没有一个能在 Mac 版 Chrome 13.0.782 中工作。我还尝试了此处概述的 onunload 解决方案:Is there a cross-browser onload event when clicking the back button?没有效果。

理想情况下,我希望页面状态保持不变(对 DOM 进行所有 jQuery 更改)而不必重新加载它,但我很高兴能够在用户导航回页面时重新加载页面。

我意识到按下后退按钮后重新加载存在多个问题,但没有一个解决方案适合我的情况。

最佳答案

一种常见的做法(例如 google 使用的做法)是将哈希值附加到 url 中。例如,在淡出一些 div 后,您可以执行

window.location.hash = "hide_div"; 

然后你会放一个 onHashChange 监听器

$(window).bind('hashchange', function() {
var hash_value = window.location.hash;

if ( hash_value === 'hide_div' )
// hide certain divs
});

P.S 这是维护 ajax 状态的非常粗略的模式。

编辑:我建议您也看看 HTML5 中的 History API。

关于jquery - 按下浏览器后退按钮后使用 Jquery 重新加载或维护 DOM 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234707/

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