在项目中 ajax 后返回 结果集 ,根据结果判断直接访问 url 或弹窗提示 ,若在ajax回调 使用window.open()会被浏览器拦截
因为:当浏览器检测到非用户操作产生的新弹出窗口,则会对其进行阻止
解决方案:模拟点击 新开窗口 访问url
//弹出
function openUrl(url){
var a = $('<a href="'+ url +'" target="_blank">链接</a>'); //生成一个临时链接对象
var d = a.get(0);
if(document.createEvent){
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true ); //模拟点击操作
d.dispatchEvent(e);
a.remove(); // 点击后移除该对象
}
else if(document.all){
d.click();
}
}