需求是这样的,有A,B两个页面,从A跳到B,发起ajax请求,成功后回到A,且阻止用户再回到B.
目前比较中意的解决方案是请求成功后直接新开一个窗口A,把原有窗口毙掉。
但遇到两个问题,如果在回调中执行window.open()会被浏览器拦截,网上的解决办法是在调用ajax请求前新开一个空白窗口,但这个操作也是需要用户点击才可以,如果ajax不是用户点击发起的还是会被拦截。
button.addEventListener('click', function() {
var a = window.open('about:blank');// 写在ajax请求前
setTimeout(() => {
// 如果成功
a.location.href = 'www.baidu.com';
// 如果失败
// a.close();
}, 1000);
})
setTimeout(() => {
// 不是用户自己点击的,还是会被拦截
button.click();
}, 2000);
还有就是关闭当前页也是个问题。
请问有没有更好的方案,急求