提问人:Mr. Kenneth 提问时间:8/8/2023 更新时间:8/18/2023 访问量:35
当用户在重定向后单击后退/前进按钮时尝试执行 javascript 函数
Trying to execute a javascript function when users click on back/forward button after redirect
问:
我想在用户重定向后单击后退/前进按钮时执行 js 函数。我在下面有一个半工作功能:
detectHistoryEvent();
function detectHistoryEvent() {
console.log(performance.navigation.type); // deprecated
console.log(performance.getEntriesByType("navigation")[0].type); // currently used
if (performance.getEntriesByType("navigation")[0].type && performance.getEntriesByType("navigation")[0].type === 'back_forward') {
themethod(); // method I want to run
}
}
工作场景1:
- 在用户单击执行的删除按钮时。
PAGE 1
POST REQUEST
- 如果成功,它将重定向到 。
PAGE 2
- 从用户单击后退按钮开始,它将重定向到 .重定向后,由于上述功能,它将执行。这是因为 navigation 的值是 。
PAGE 2
PAGE 1
themethod()
back_forward
不工作场景 2:
- 在用户单击执行 的 href 时。
PAGE 1
GET REQUEST
- 如果成功,它将重定向到 。
PAGE 2
- 从用户单击后退按钮开始,它将重定向到 .但是,不会执行。这是因为 nagivation 的值就像普通的 href 点击一样。
PAGE 2
PAGE 1
themethod()
navigate
是否可以检查用户是否单击了后退/前进按钮,即使执行?PAGE 1
GET REQUEST
答:
1赞
Mr. Kenneth
8/18/2023
#1
经过几天的搜索,删除了我的问题的方法,并使用下面的代码来使用解决方案:
window.onpageshow = function(event) {
if (event.persisted) {
themethod();
}
};
评论