【问题标题】:Any way to programmatically force IE8 to open popups in a new window instead of a tab?任何方式以编程方式强制 IE8 在新窗口而不是选项卡中打开弹出窗口?
【发布时间】:2010-07-14 15:53:32
【问题描述】:

有没有办法以编程方式指示 IE8 在新窗口而不是新选项卡中打开弹出窗口?我知道 IE 支持模态窗口,但我有一堆带有普通弹出窗口的遗留代码。

更新:

我正在使用 Javascript 的 window.open() 方法来创建弹出窗口。但是,当用户将 IE8 设置设置为“始终在新选项卡中打开弹出窗口”时,弹出窗口将在新选项卡而不是新窗口中启动。

【问题讨论】:

    标签: internet-explorer-8


    【解决方案1】:

    使用 html,您能做的最好的事情就是将打开页面目标设置为空白。其他一切都由客户端控制,他们可以选择在新窗口或选项卡中打开它。

    但是,您可以使用 javascript 打开窗口。创建链接以在新窗口中打开here

    【讨论】:

      【解决方案2】:

      由于没有其他人参与...经过进一步研究,当 IE8 用户启用以下浏览器设置时,您似乎无法强制弹出窗口在新窗口中打开:工具> >Internet 选项>>选项卡>>遇到弹出窗口时:>>始终在新选项卡中打开弹出窗口

      由于我处于 Intranet 环境中,我可以选择将用户 IE 设置锁定为“让 Internet Explorer 决定应如何打开弹出窗口”或“始终在新窗口中打开弹出窗口”。

      我并不真正关心执行上述选项,因此为了获得所需的用户体验,我将采取以下代码更改之一:

      1. 将现有弹出窗口转换为IE specific Modal Dialogs using the showModalDialog() method

      2. 使用jqModal 或其他一些jQuery plug-in 将现有弹出窗口转换为Javascript 模式对话框。

      【讨论】:

      • 你试过给它一个宽度和高度。我发现在 FF 中,一旦你给它一个宽度和高度,它确实会生成一个新窗口而不是选项卡。
      • 除了模态对话框之外,还有其他解决方案可以通过 javascript 覆盖此行为吗?
      【解决方案3】:

      如果您选择让 Internet Explorer 决定如何显示弹出窗口,它 如果弹出窗口指定大小,将在新窗口中显示弹出窗口 或显示要求。否则,弹出窗口将显示在一个新的 标签。

      http://windows.microsoft.com/en-US/windows-vista/Tabbed-browsing-in-Internet-Explorer-8-frequently-asked-questions

      因此,如果您没有设置任何特定的窗口要求并且它应该在新选项卡中打开,除非用户更改了这些设置。

      【讨论】:

        猜你喜欢
        • 2014-05-31
        • 2011-04-16
        • 1970-01-01
        • 2021-07-20
        • 1970-01-01
        • 2016-03-10
        • 2021-05-03
        • 1970-01-01
        • 2023-04-10
        相关资源
        最近更新 更多