之前一直用window.open打开新页面,但是最近发现在ajax的回调里window.open会被浏览器拦截,试了网上模拟a标签和form表单提交都依然会被拦截,有一种妥协的办法是在ajax之前先打开新页面,然后进行重定向,如果不成功还要手动关掉之前打开的页面,所以用户体验会很不好,其实最终得解决方案就是让用户去点击触发:
<script>
$.ajax({
type: 'POST',
url: '/data.json',
dataType: 'json',
success:function(){
layer.open({
content: 'test'
,btn: ['按钮一']
,btn1: function(index, layero){
window.open("www.baidu.com");
}})},
error: function(){},
});
</script>