JavaScript:如何强制IE在新标签页中打开而不是新窗口?

5
我想要一个脚本,使用户在点击我的网页上的链接/横幅(target="_blank")时,其Internet Explorer打开一个新标签页而不是一个新窗口。
我讨厌当链接/横幅被点击时,Internet Explorer默认打开新窗口而不是新标签页。所有其他流行的浏览器(例如Chrome,Opera,Firefox)都默认打开标签页。
最好这个脚本需要在支持标签页的所有IE版本中工作。
那么...如何使用JavaScript强制IE打开新标签页而不是窗口,这是它的默认行为?

不可行……(而且,无法覆盖用户偏好是一件好事情。 - Gabriele Petrioli
当前版本的IE不会在新窗口中打开“_blank”链接,而是在新标签页中打开。您测试的是哪个版本的IE? - Šime Vidas
3个回答

2

当选择“让Internet Explorer决定弹出窗口的打开方式”选项时,Internet Explorer使用什么标准来做出这个决定? - Dead.Rabit
1
@Dead.Rabit,请看这里:http://superuser.com/questions/713743/what-rules-apply-when-ie9-decides-how-to-open-popups - John Rix

0

在IE11中,至少默认用户设置为“让Internet Explorer决定弹出窗口的打开方式”(我不确定之前版本的默认设置是什么)。关于IE行为及其默认设置的一些背景信息可以在此处找到:https://superuser.com/questions/713743/what-rules-apply-when-ie9-decides-how-to-open-popups

根据其他答案/评论,一般来说,我们作为Web程序员对弹出窗口的打开方式几乎没有控制权。然而,只要用户没有更改他们的默认选择(至少在IE11中!),你可以通过适当调用window.open()方法来近似你想要的行为。具体地,如果你向该方法传递少于三个参数,则IE通常会打开一个新标签页,而传递第三个参数(即使是null或未定义的值 <- 这最初让我感到困惑!)将导致IE弹出一个单独的窗口。

如果您可以接受一个未被保证但在大多数情况下有效的解决方案,那么这可能有所帮助。至少在这种情况下,“默认的暴政”对我们有利!

至少在 Chrome 中,specs 参数不那么挑剔 - 如果为 null 或 undefined,则会在默认配置下弹出选项卡而不是窗口。


0
我所做的是进入IE的选项设置,然后在“遇到弹出窗口时”这一部分中选择“总是在新标签页中打开弹出窗口”。希望这可以帮到你。
要导航到此菜单,请打开IE设置(右上角的齿轮图标,Internet选项),然后在选项卡部分下点击选项卡按钮。
以下帖子向您展示如何导航到屏幕截图中的菜单。

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

IE 设置


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接