【问题标题】:target=_blank to open a tab, and if failing opening a tab, opens popup with height and widthtarget=_blank 打开选项卡,如果打开选项卡失败,则打开具有高度和宽度的弹出窗口
【发布时间】:2013-12-06 10:21:47
【问题描述】:

目前,当您为 a 标记提供 target="_blank" 属性时,Chrome、Firefox 和现代 IE 浏览器将在新选项卡中打开该链接。 Safari 和旧版 IE 将在新选项卡中打开它。使用window.open 与为所有浏览器打开弹出窗口一致,并允许您指定heightwidth,但现代浏览器有弹出窗口阻止程序会阻止它。使用target="blank" 打开一个新选项卡很好/首选,但是对于要在弹出窗口中打开它的浏览器,我想指定heightwidth,因为旧版 IE 正在打开的弹出窗口是非常小。

有没有办法(除了浏览器检测)打开一个新选项卡,如果失败,打开一个具有指定高度和宽度的新弹出窗口?我相信有办法做到这一点以相反的顺序,但我宁愿让用户看不到“弹出窗口被阻止”警报,然后出现一个新标签。

而且,是的,我知道弹出窗口令人讨厌、侮辱和可怕。这是别人问我的事情。

【问题讨论】:

  • 用户的设置决定了一个窗口是在新标签页还是在新窗口中打开。您无能为力来确定行为。您始终可以通过指定其他参数使其成为弹出窗口,这样您就可以获得一致性。我相信大多数浏览器不会阻止一个弹出窗口,如果它是一个由用户点击触发的弹出窗口。

标签: javascript jquery html cross-browser popup


【解决方案1】:

window.open 方法在与点击事件相关联时将起作用。这个 window.open 是否与点击事件相关联?

** 编辑 ** 我还发现弹出窗口(window.open)往往会被用户意外隐藏。如果可能,请使用模态框方法(如 jQuery 的 lightbox、thickbox、simple modal 等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多