gpt4 book ai didi

javascript - 为什么单击后退按钮时 popstate 不触发我的功能? (移动 ios Chrome )

转载 作者:行者123 更新时间:2023-11-29 23:35:10 24 4
gpt4 key购买 nike

当链接在新选项卡中打开时,我正在尝试这样做,可以通过后退按钮返回引荐页面。

const referrer = document.referrer;
const redirect = (e) => {
if(e.state.goBack){
window.location.href = window.location.href;
}
}

const _location = window.location.href
history.replaceState({goBack: true}, null, referrer);
history.pushState({}, null, _location);

window.addEventListener('popstate', redirect);

在 MacBook、android chrome/firefox 中运行良好。仅在 iPhone/iPad 中,它不起作用。它只是回到他自己。即使我在重定向功能中添加警报,当我在 iPad chrome 中单击后退按钮时它也不会显示。 :(

感觉在 iPad 上单击后退按钮不会触发重定向功能。

最佳答案

我遇到了同样的问题。我发现的解决方法不是使用 replaceState,而是使用 pushState:https://jsfiddle.net/6dayLhzs/1

const referrer = document.referrer;
const redirect = (e) => {
if(e.state.goBack){
window.location.href = window.location.href;
}
}

const _location = window.location.href
history.pushState({goBack: true}, null, referrer);
history.pushState({}, null, _location);

window.addEventListener('popstate', redirect);

关于javascript - 为什么单击后退按钮时 popstate 不触发我的功能? (移动 ios Chrome ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46466618/

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