JavaScript:强制IE打开新标签而不是窗口?

时间:2011-04-16 11:56:39

标签: javascript internet-explorer window

我想要一个脚本,当用户点击我网页上的(target =“_ blank”)链接/横幅时,该脚本会使用户的Internet Explorer打开新选项卡而不是新窗口。

我讨厌在单击链接/横幅时Internet Explorer默认打开新窗口而不是新选项卡。所有其他流行的浏览器(例如Chrome,Opera,Firefox)默认打开标签。

此脚本最好需要在支持标签的所有IE版本中使用。

那么......如何使用JavaScript强制IE打开新选项卡而不是窗口,这是默认行为?

3 个答案:

答案 0 :(得分:2)

这是不可能的;这是一个浏览器设置/行为,无法从页面上加载的脚本调用。

Programmatically open new pages on Tabs

答案 1 :(得分:0)

至少在IE11中,默认用户设置为“让Internet Explorer决定弹出窗口应该如何打开”(现在,我不确定以前版本的默认设置)。可以在此处找到有关此默认设置的IE行为的一些上下文:https://superuser.com/questions/713743/what-rules-apply-when-ie9-decides-how-to-open-popups

其他人的回答/评论在这里,一般来说,我们作为网络程序员几乎无法控制弹出窗口的打开方式。但是,如果用户没有更改其默认选择(至少在IE11中!),您可以通过适当调用window.open()方法来近似所需的行为。具体来说,如果向方法传递少于三个参数,IE通常会打开一个新选项卡,同时传递specs(第三个)参数(即使有一个null或未定义的值< - 这最初让我抓到了!)导致IE弹出一个单独的窗口。

如果您很高兴能够获得无法保证但工作时间相当长的解决方案,这可能会有所帮助。在这种情况下,“默认的暴政”至少对我们有利!

Chrome至少对specs参数不那么挑剔 - 如果为null或未定义,它将弹出选项卡而不是默认配置下的窗口。

答案 2 :(得分:0)

我要做的是转到IE的标签设置,然后在“遇到弹出窗口时”部分下选择“始终在新选项卡中打开弹出窗口”。希望对您有所帮助。

要导航到此菜单,请打开IE设置(Internet选项的右上角为“齿轮”图标),然后单击“标签”部分下的标签按钮。

下面的文章显示了如何导航到屏幕截图中的菜单。

https://superuser.com/questions/507798/prevent-a-single-ie-window-with-multiple-open-tabs-from-being-displayed-as-multi

IE Settings