【发布时间】:2013-12-06 10:21:47
【问题描述】:
目前,当您为 a 标记提供 target="_blank" 属性时,Chrome、Firefox 和现代 IE 浏览器将在新选项卡中打开该链接。 Safari 和旧版 IE 将在新选项卡中打开它。使用window.open 与为所有浏览器打开弹出窗口一致,并允许您指定height 和width,但现代浏览器有弹出窗口阻止程序会阻止它。使用target="blank" 打开一个新选项卡很好/首选,但是对于要在弹出窗口中打开它的浏览器,我想指定height 和width,因为旧版 IE 正在打开的弹出窗口是非常小。
有没有办法(除了浏览器检测)打开一个新选项卡,如果失败,打开一个具有指定高度和宽度的新弹出窗口?我相信有办法做到这一点以相反的顺序,但我宁愿让用户看不到“弹出窗口被阻止”警报,然后出现一个新标签。
而且,是的,我知道弹出窗口令人讨厌、侮辱和可怕。这是别人问我的事情。
【问题讨论】:
-
用户的设置决定了一个窗口是在新标签页还是在新窗口中打开。您无能为力来确定行为。您始终可以通过指定其他参数使其成为弹出窗口,这样您就可以获得一致性。我相信大多数浏览器不会阻止一个弹出窗口,如果它是一个由用户点击触发的弹出窗口。
标签: javascript jquery html cross-browser popup