如下代码:
解决方案:将ajax 设置为同步请求,即跳出ajax再调用open等方法。
<form id="mypaypal" target="_blank" action="target.do" method="post">
<input id="btnSub" type="image" src="images/btnSub.jpg" onClick="openDemo();" >
</form>
如果通过JS脚本,控制"btnSub"按钮提交Form表单,或者在Ajax中使用window.open方法时,在某些浏览器下(比如IE6)就会出现弹出新窗口被拦截的现象。
(若不是在Ajax中使用Window.open、或者用默认为提交表单类型的按钮直接提交表单时则不会出现此问题。),比如:
<script type="text/javascript">
function openDemo(){
// 非正常弹出窗口,在IE6中新窗口会被拦截掉
document.getElementById("mypaypal").submit();
// 正常弹出窗口
window.open("**.html");
// ---- 使用Ajax操作
$.ajax({
type: "GET",
url:"**.html",
data:params,
dataType : "json",
success:function(data){
// 不管是window.open() 或 formId.submit() 都会被拦截
},
error:function(e){}
});
}
</script>
解决方案:将ajax 设置为同步请求,即跳出ajax再调用open等方法。