【发布时间】:2012-08-06 20:46:40
【问题描述】:
所以我理解 Firefox 弹出窗口阻止程序的方式是它会阻止用户未启动弹出窗口打开的弹出窗口(如果我错了,请纠正我)
例如,如果你有
window.open(url, name);
它会阻止弹出窗口,但如果你有
$('checkbox').change(function(){
window.open(url, name);
});
它不会阻止弹出窗口,因为它取决于用户执行的操作(即更改复选框值)...
但是当我这样做的时候
$('checkbox').change(function(){
$.ajax({
url: someUrl,
success : function(data){
if(someCondition){
window.open(someOtheUrl, name);
}
}
});
});
Firefox 会尝试阻止这个 window.open 调用,尽管它仍然取决于用户执行的操作...
在用户操作中使用 ajax 时,有没有办法告诉 firefox 这个弹出窗口是合法的,并且不会让 firefox 阻止它?
【问题讨论】:
-
我认为你对这个很感兴趣。但话又说回来......你为什么要使用弹出窗口?
-
老实说,您应该尽快远离 window.open。你会比它的价值有更多的头痛。如果您需要显示另一个页面,为什么不直接打开一个带有 iFrame 的模式呢? window.open 可以完全被阻止。
标签: javascript jquery firefox popup window