阻止弹出窗口不适用于表单提交在chrome中打开新标签页

时间:2019-03-06 08:01:44

标签: javascript google-chrome popup

我有一个名为a.jsp的jsp文件,其代码如下:

<script type="text/javascript">

    initFun = function() {           

        // .... code ommited
        if(email_flag){
            email();
        }

        template_type = "ARRIVAL";
    }

    initFun();
</script>

函数email位于a.js中:

function email(){

    var data = {};

    //populate data 

    submitDataViaForm(data, url,"_blank");  
}

函数submitDataViaForm位于b.js中:

function submitDataViaForm(data,url,_target,method){

    var form = jQuery('<form></form>');

    form.attr('action', url);  
    if(method){
        form.attr('method', method);
    }else{
        form.attr('method', 'post');
    }


    if(_target){
        form.attr('target', _target); 
    }

    for(k in data){
        var input = jQuery('<input type="hidden" />');
        input.attr("name",k);
        input.val(data[k]);

        form.append(input);
    }

    jQuery("body").append(form);

    form.submit(); 
    form.remove();
}

打开a.jsp时,如果email_flag为true,则它将调用email()在浏览器中打开一个新标签以显示发送电子邮件页面。

但是,即使我在chrome 73中设置了阻止弹出窗口,该新标签仍在大多数情况下处于打开状态 案例(有时可以阻止),为什么?

在Chrome 71.0.3578.80中,它始终可以阻止我的弹出式窗口。

0 个答案:

没有答案