为什么有时浏览器阻止弹出窗口,有时不
Why sometimes browser block popup and sometimes not?
如果我在通过 javascript 打开的链接上有一个处理程序,弹出窗口,一切正常。但是,如果在处理程序中,我执行了一个 ajax 请求,然后在完成后打开一个新窗口,浏览器会阻止它。我用:
openedWindow = window.open("/interne/appsocial/aggrega/Aggrega" + pageTitle + ".aspx", "popup", "width=" + popupYTSizeWidth + ", height=" + popupYTSizeHeight + ", top=" + top + ", left=" + left);
你知道为什么吗?我可以解决这个麻烦吗?
如果我在通过 javascript 弹出窗口打开的链接上有一个处理程序,那么一切正常。但是,如果在处理程序中,我执行了一个 ajax 请求,然后在完成后打开一个新窗口,浏览器会阻止它。
默认情况下,当前浏览器中的弹出窗口阻止程序倾向于在由明确的用户交互触发时允许弹出窗口,例如单击链接 - 可以假设,这更有可能是用户实际想要打开的弹出窗口,而不是"突然"打开的弹出窗口,这更有可能是烦人/垃圾邮件。
但是,由于您的 AJAX 请求是异步的,因此用户进行的单击与弹出窗口的打开之间没有更多的直接联系 - 这种情况发生在由单击触发的原始代码块完成执行之后很久。因此它被阻止,因为浏览器无法将其与其他类型的"坏"弹出窗口区分开来,这些弹出窗口在没有用户交互的情况下获得开放。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 如何使用特定大小的浏览器窗口打开我的页面
- Flash AS3关闭浏览器窗口
- 如何打开/移动主屏幕左侧的浏览器窗口
- 使用 javascript 打开新的浏览器窗口时出错
- 如何在浏览器窗口变大/变小时捕捉元素的宽度
- 更改当前选项卡或浏览器窗口的标题
- 如何在windowsphone 7浏览器中通过javascript打开新窗口或选项卡
- 如何在同一浏览器屏幕中创建多个窗口
- 如何相对于浏览器窗口定位DIV
- 浏览器窗口中的应用内FB页面插件链接
- 在浏览器窗口中创建动态灵活的分割标记
- 窗口浏览器外的计数器停止
- 如何使元素的宽度和高度为页面(文档)的100%,而不仅仅是窗口(浏览器)
- 如何在调整窗口浏览器大小时使用jquery或javascript加载javascript文件
- 弹出窗口浏览器仍然是Windows主页的一部分
- 如何检查用户是否关闭了窗口/浏览器/关闭了计算机
- GWT:添加窗口小部件到新的窗口浏览器
- 弹出窗口-浏览器差异