我有这段代码可以在新窗口中打开我页面中的所有链接:
<base target='_new' />
它在 Chrome 中运行良好,但在 IE(8) 和 Firefox 中则不然。在 Firefox 中,它确实打开了一个新选项卡,但在第二个链接上单击它会加载到新选项卡中,但没有将此选项卡放在前面,因此用户必须手动单击新选项卡。在 IE 中,它会打开一个新的浏览器窗口。是否有等效代码 (..js/Jquery) 可以在所有浏览器的新选项卡中打开?
我有这段代码可以在新窗口中打开我页面中的所有链接:
<base target='_new' />
它在 Chrome 中运行良好,但在 IE(8) 和 Firefox 中则不然。在 Firefox 中,它确实打开了一个新选项卡,但在第二个链接上单击它会加载到新选项卡中,但没有将此选项卡放在前面,因此用户必须手动单击新选项卡。在 IE 中,它会打开一个新的浏览器窗口。是否有等效代码 (..js/Jquery) 可以在所有浏览器的新选项卡中打开?
无法保证浏览器将在哪里打开该新窗口/选项卡。不同的浏览器以不同的方式打开新窗口/标签,并且该行为也可能受到浏览器设置的影响。
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.
因此,行为主要取决于用户而不是开发人员。
您无法控制这部分(如何打开 - 在选项卡或窗口中)。因为这是由浏览器决定的。更重要的是,您甚至不能依赖浏览器的类型,因为每个用户都可以选择他或她的方式来打开新页面:总是在选项卡中或总是在新窗口中或其他方式。
我不确定这是否适用于“base”标签,但在链接上,“target”属性可以有一个预定义的关键字,或者您想给新窗口提供的任何名称。
可用的关键字是:
(http://www.w3schools.com/tags/att_a_target.asp)
如果您不使用这些关键字之一,您可以使用您想要的任何名称,然后该名称将用于引用该窗口。这允许您重复使用打开的选项卡以在其中加载不同的文档。
因此,通过使用“_new”(不是关键字)作为基本目标,您实际上是说所有链接都必须在名为“_new”的窗口中打开。起初这个窗口不存在,所以浏览器创建它(第一次点击),并且它在所有后续点击中重复使用它。
请改用“_blank”,以便每个链接在其自己的新选项卡中打开。