在Firefox中打开新选项卡

时间:2012-04-29 11:05:33

标签: javascript jquery cross-browser

我有这个代码,可以在新窗口中打开我页面中的所有链接:

<base target='_new' />

它适用于Chrome,但在IE(8)和Firefox中并非如此。在Firefox中,它会打开一个新选项卡,但是在第二个链接上单击它会在新选项卡中加载,但不会将此选项卡放在前面,因此用户必须手动点击新选项卡。在IE中,它会打开一个新的浏览器窗口。是否有在所有浏览器的新选项卡中打开的等效代码(..js / Jquery)?

4 个答案:

答案 0 :(得分:6)

无法保证浏览器将打开该新窗口/标签的位置。不同的浏览器以不同的方式打开新的窗口/标签,这种行为也会受到浏览器设置的影响。

答案 1 :(得分:4)

Firefox可以选择立即切换到标签页。

Tools -> Options -> Tabs, 
    "When I open a link in a new tab, switch to it immediately"

IE9具有相同的选项

Tools -> Internet Options -> General -> Tabs Settings
    "Always switch to new tabs when they are created"

IE9可以选择如何处理新的弹出窗口。

Tools -> Internet Options -> General -> Tabs Settings
    "When a popup is encountered"
     - Let Internet Explorer decide ...
     - Always open popups in a new tab
     - Always open popups in a new window

来自http://windows.microsoft.com/en-US/windows7/Tabbed-browsing-frequently-asked-questions

If you opt to let Internet Explorer decide how to display pop-ups, it 
will display the pop-up in a new window if the pop-up specifies size 
or display requirements. Otherwise, the pop-up is displayed in a new tab.

因此,行为主要由用户而不是开发人员负责。

答案 2 :(得分:1)

您无法控制此部分(如何打开 - 在选项卡或窗口中)。由于这是由浏览器决定的。更多的是,你甚至不能依赖于浏览器的类型,因为每个用户都可以选择他或她的方式打开新页面:总是在标签中或总是在新窗口或其他方式。

答案 3 :(得分:0)

我不确定这适用于“base”标记,但在链接上,“target”属性可以有一个预定义关键字,也可以是要为新窗口指定的任何名称。

可用的关键字是:

  • _blank:在新窗口或标签页中打开链接
  • _self:打开与单击时相同的框架中的链接(这是默认设置)
  • _parent:打开父框架中的链接
  • _top:打开窗口正文中的链接

http://www.w3schools.com/tags/att_a_target.asp

如果您不使用其中一个关键字,则可以使用您想要的任何名称,然后使用此名称来引用该窗口。这允许您重复使用打开的选项卡以在其中加载不同的文档。

因此,通过使用“_new”( not 关键字)作为基本目标,您基本上可以说所有链接都必须在名为“_new”的窗口中打开。首先,此窗口不存在,因此浏览器会创建它(第一次单击),并且它会重复使用它以进行所有后续点击。

改为使用“_blank”,以便每个链接都在自己的新标签页中打开。