抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

浏览器 windows.open 弹窗被拦截的解决办法

<a href="javascript:;" onclick="dialog();">点击弹窗</a>

1. 使用同步请求

<script type="text/javascript">
function dialog(){
$.ajax({
    url: 'url',
    type: 'POST',
    dataType: 'json',
    async: false,
    data: {param1: 'value1'},
    success: function(data){
        window.open("url");
        }
    })
}
</script>

2. 创建新窗口

<script type="text/javascript">
function dialog(){
var popup = window.open('about:blank', '_blank');  //先发起弹窗(因为是用户触发,所以不会被拦截)
$.ajax({
    url: 'url',
    type: 'POST',
    dataType: 'json',
    async: false,
    data: {param1: 'value1'},
    success: function(data){
            popup.location = data.url;  //再重定向页面链接
        }
    })
}
</script>

评论