我有一个名为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
中,它始终可以阻止我的弹出式窗口。