window.open被拦截

Posted Tiac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.open被拦截相关的知识,希望对你有一定的参考价值。

1)直接调用window.open 或 点击的时候直接调用 window.open 是不会被拦截的

// 不会被拦截
$(‘.btn-open‘).click(function(){ window.open(‘xxxx‘, ‘_blank‘); });

 

2)window.open 只能放函数第一层,放在函数嵌套里会被拦截

// 会被拦截
$(‘.btn-open‘).click(function(){ $.get(‘xxxx.php‘, function(res){ window.open(res.url, ‘_blank‘); }, ‘json‘); });

 

简单来说,要想不被拦截,window.open 只能放函数第一层,不能放嵌套函数里(PS:写成一个独立的函数,但调用是在嵌套函数里调用也是不行的

// 会被拦截
function
openUrl(url){ window.open(url, ‘_blank‘); } $(‘.btn-open‘).click(function(){ $.get(‘xxxx.php‘, function(res){ openUrl(res.url); }, ‘json‘); });

 

以上是关于window.open被拦截的主要内容,如果未能解决你的问题,请参考以下文章

js实现window.open不被拦截的解决方法汇总

js实现window.open不被拦截的解决方法汇总

window.open方法被浏览器拦截的处理方式

ajax请求window.open()被拦截

window.open打开网址被拦截

window.open()被拦截问题