gpt4 book ai didi

javascript - IOS 上的 pushstate/pop 状态问题 - history api/javascript

转载 作者:行者123 更新时间:2023-11-30 16:35:43 25 4
gpt4 key购买 nike

我只在 iphone 和 ipad 上遇到一个奇怪的问题。我构建了以下功能:

在电子商务网站上,当用户在结帐成功页面上单击浏览器的后退按钮一次时,我会将他重定向到主页。这适用于所有主流浏览器。

然而,在IOS上,在点击后退按钮之前,页面会自动重定向到首页(在结帐成功页面上)

我有以下代码:

(function() {

var SuccessPage ={

extractDomain:function(url){
var domain;
if (url.indexOf("://") > -1) {
domain = url.split('/')[2];
}
else {
domain = url.split('/')[0];
}
domain = domain.split(':')[0];

return domain;
}

}


if(window.location.href.indexOf("checkout/onepage/success") > -1) {
history.pushState(null, null, window.location.href);
window.addEventListener("popstate", function(e) {
window.location.assign("http://"+SuccessPage.extractDomain(window.location.href))
});
}

})();

我试过在 pop 状态事件上使用设置超时..但是没有抽雪茄:(而且我不明白为什么 IOS 不理解这段代码..

请帮忙

最佳答案

开始工作了:

    if(window.location.href.indexOf("checkout/onepage/success") > -1) {
if(window.history && history.pushState && history.state !== undefined){
history.pushState(null, null, window.location.href);
window.addEventListener("popstate", function(event) {
if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){
if(!page_loaded){
page_loaded = true;
return false;
}else{
window.location.assign("http://"+SuccessPage.extractDomain(window.location.href))
}
}else{
window.location.assign("http://"+SuccessPage.extractDomain(window.location.href))
}

},false);
}
}

关于javascript - IOS 上的 pushstate/pop 状态问题 - history api/javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32732775/

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