【发布时间】:2010-07-14 15:53:32
【问题描述】:
有没有办法以编程方式指示 IE8 在新窗口而不是新选项卡中打开弹出窗口?我知道 IE 支持模态窗口,但我有一堆带有普通弹出窗口的遗留代码。
更新:
我正在使用 Javascript 的 window.open() 方法来创建弹出窗口。但是,当用户将 IE8 设置设置为“始终在新选项卡中打开弹出窗口”时,弹出窗口将在新选项卡而不是新窗口中启动。
【问题讨论】:
有没有办法以编程方式指示 IE8 在新窗口而不是新选项卡中打开弹出窗口?我知道 IE 支持模态窗口,但我有一堆带有普通弹出窗口的遗留代码。
更新:
我正在使用 Javascript 的 window.open() 方法来创建弹出窗口。但是,当用户将 IE8 设置设置为“始终在新选项卡中打开弹出窗口”时,弹出窗口将在新选项卡而不是新窗口中启动。
【问题讨论】:
使用 html,您能做的最好的事情就是将打开页面目标设置为空白。其他一切都由客户端控制,他们可以选择在新窗口或选项卡中打开它。
但是,您可以使用 javascript 打开窗口。创建链接以在新窗口中打开here
【讨论】:
由于没有其他人参与...经过进一步研究,当 IE8 用户启用以下浏览器设置时,您似乎无法强制弹出窗口在新窗口中打开:工具> >Internet 选项>>选项卡>>遇到弹出窗口时:>>始终在新选项卡中打开弹出窗口。
由于我处于 Intranet 环境中,我可以选择将用户 IE 设置锁定为“让 Internet Explorer 决定应如何打开弹出窗口”或“始终在新窗口中打开弹出窗口”。
我并不真正关心执行上述选项,因此为了获得所需的用户体验,我将采取以下代码更改之一:
将现有弹出窗口转换为IE specific Modal Dialogs using the showModalDialog() method。
使用jqModal 或其他一些jQuery plug-in 将现有弹出窗口转换为Javascript 模式对话框。
【讨论】:
如果您选择让 Internet Explorer 决定如何显示弹出窗口,它 如果弹出窗口指定大小,将在新窗口中显示弹出窗口 或显示要求。否则,弹出窗口将显示在一个新的 标签。
因此,如果您没有设置任何特定的窗口要求并且它应该在新选项卡中打开,除非用户更改了这些设置。
【讨论】: