gpt4 book ai didi

javascript - onpopstate 处理程序 - ajax 后退按钮

转载 作者:太空狗 更新时间:2023-10-29 13:43:10 26 4
gpt4 key购买 nike

我正在使用 pushState 为我网站上的 ajax 内容创建有意义的 url。我想在用户点击前进或后退按钮时刷新 ajax 内容。然而,我遇到了问题,因为 chrome(正确地)在“历史遍历”(前进/后退按钮)和“结束”(页面加载)上暗示了 onpopstate。我想创建一个 onpopstate 处理程序来区分页面加载和历史遍历,因为如果它已经成功加载,我不想刷新我的 ajax 内容。谁能帮我区分这两者?

window.onpopstate = function (event) {
// If : Forward/back button pressed
// Reload any ajax content with new variables
// Else : Page load complete
// Do nothing - content already loaded and correct
}

参见 http://code.google.com/p/chromium/issues/detail?id=63040有关 chrome 和 onpopstate 的更多详细信息。

谢谢

最佳答案

一种方法是在页面加载时将变量初始化为 false,然后在 popstate 事件中检查该变量。如果它仍然是 false,则将其设置为 true 并且什么都不做。从那时起,您的所有其他 popstate 事件都应该仅来自后退/前进事件。

var loaded = false;

window.onpopstate = function(e) {
if (!loaded) {
loaded = true;
return;
} else {
// run your stuff...
}
}

关于javascript - onpopstate 处理程序 - ajax 后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257819/

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