【问题标题】:How can you open 2 windows even when ie6 popup blocker is enabled即使启用了 ie6 弹出窗口阻止程序,您如何打开 2 个窗口
【发布时间】:2010-01-28 01:49:54
【问题描述】:

似乎在尝试从一系列 windows.open 调用中打开 2 个窗口时,它只允许打开第​​一个窗口并删除对第二个窗口的引用。我知道这可能听起来有点笨拙,但我们确实需要第二个弹出窗口。

有什么想法吗?

不幸的是,我们正在处理一个用户案例,其中用户端的 ie6 启用了弹出窗口阻止程序。

【问题讨论】:

标签: javascript internet-explorer-6 popup popup-blocker


【解决方案1】:

编辑:我刚刚意识到您可能对两个窗口都使用了空白 ('') 窗口名称:

var win = window.open(url, '', 'blah=1');
var win2 = window.open(url2, '', 'stuff=1'); //later

这可能是在 IE6 以外的浏览器中使用不同的窗口处理的。

如果这不起作用,您可以考虑注入显示在内容顶部的 div(而不是使用弹出窗口),这被认为是一种更好的做法。

【讨论】:

    【解决方案2】:

    默认情况下,IE 弹出窗口阻止程序只允许每个用户启动的操作(即单击某个元素)打开一个新窗口。如果您尝试在同一处理程序中打开两个新窗口以响应单个用户启动的操作,则只会成功打开第一个窗口。这是设计使然。

    有一个用户可以使用的覆盖键:在 IE6 上,我认为它是 CTRL,但它可能是 CTRL+ALT,因为它在以后的版本中被更改(不确定它是否被向后移植)。

    如果您转到工具->Internet 选项->弹出窗口阻止程序->设置->阻止级别:并查看“高”下拉框中的值,它会在括号中告诉你覆盖键。

    在同一设置对话框中,您还可以将此特定站点添加到“允许的站点”列表中,然后弹出窗口阻止程序将使该站点上的所有新窗口创建尝试成功。我很确定这个列表也可以通过组策略或 IEAK 或类似的东西预先填充。但这只是一个存储在注册表中的列表,因此您也可以编写登录脚本,如果需要添加内容,则只需添加即可。

    如果您还有其他问题,请告诉我(我是实现 IE 弹出窗口阻止程序的开发人员)。

    【讨论】:

      【解决方案3】:

      IE6 听起来像是企业安装。假设这是真的,请联系您的管理员并让组策略将您的内部网站设置为 Intranet 区域,并关闭该区域的弹出窗口阻止程序。

      【讨论】:

      • 我们正在解决一个用户案例,而不是内部问​​题
      • 好吧,那祝你好运。就我个人而言,我的弹出窗口阻止程序上有弹出窗口阻止程序,并辅以更多弹出窗口阻止程序。 :)
      猜你喜欢
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 2017-02-06
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多