当浏览器检测到非用户操作(即非click等事件)跳转页面或弹出新窗口时会被有些浏览器拦截;
解决办法:
- 当只需在本页面跳转时使用window.location.href = ‘url’ 代替 window.open(‘url’); window.location仅支持本站地址的跳转;
- 使用a标签代替(不适合放在ajax请求的回调函数中)
function newOpenWin(url, id){
var a = document.createElement('a');
a.setAttribute('href', url);
a.setAttribute('target', '_blank');
a.setAttribute('id', id);
if(!document.getElementById(id)){
document.body.appendShild(a);
a.click();
}
}
3.先弹出窗口,然后进行重定向
解决浏览器拦截自动弹窗
本文介绍了如何避免浏览器拦截非用户触发的页面跳转或新窗口打开。通过使用`window.location.href`替代`window.open`实现页面跳转,并提供了一个使用`a`标签创建新窗口的JavaScript函数。
1万+

被折叠的 条评论
为什么被折叠?



