window.open()如何绕过chrome的弹窗拦截
一.首先,我们要知道哪些弹窗会被 chrome拦截,哪些弹窗不会被拦截
1.非用户触发的window.open方法,是会被拦截的。
//定义一个按钮 var btn = $('#btn'); //由用户点击触发按钮 btn.click(function () { $.ajax({ url: 'ooxx', success: function (url) {
//这里的window.open()方法由 ajax触发 ,不属于用户触发 //打开一个不被拦截的新窗口 var newWindow = window.open(); //修改新窗口的url newWindow.location.href = url; } }) });
2.用户触发的window.open方法,不会被拦截。
二.如何,避免被拦截
最简单的方法:让window.open方法被用户触发
//定义一个按钮 var btn = $('#btn'); //由用户点击触发按钮 btn.click(function () { //打开一个不被拦截的新窗口 var newWindow = window.open(); $.ajax({ url: 'ooxx', success: function (url) { //修改新窗口的url newWindow.location.href = url; } }) });