以编程方式在选项卡上打开新页面

IT技术 javascript internet-explorer-7 safari tabs
2021-01-29 14:57:37

我正在尝试“强制”Safari 或 IE7使用新选项卡打开新页面

以编程方式我的意思是这样的:

window.open('page.html','newtaborsomething');
6个回答

您可以在 Firefox 中,将属性 target="_newtab" 添加到锚点以强制打开新选项卡。

<a href="some url" target="_newtab">content of the anchor</a>

在javascript中你可以使用

window.open('page.html','_newtab');

这么说,我部分同意山姆的看法。您不应该强迫用户打开新页面或新选项卡,而不他们单击链接之前向他们显示将要发生的事情的提示

让我知道它是否也适用于其他浏览器(我目前没有机会在 Firefox 以外的其他浏览器上尝试它)。

编辑:为 ie7 添加了参考也许这个链接可能有用
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/

我真的很感谢你的回答,但我知道 Firefox 会做到这一点(一些文本,未经我测试,请注意这并不总是正确的,有 50-50 的机会获得一个新窗口或标签)。我也认为这不应该是一个问题,但是,你知道客户:)
2021-03-18 14:57:37
感谢这个 Firefox 提示,现在我已经更新了我的 TargetKiller 插件以删除“_newtab”和“newtab”。:P
2021-03-19 14:57:37
这可能不是所有构建/平台的情况,但 Linux 上的 Firefox 3.5 不允许您多次执行此操作...如果您的页面上有多个 target="_newtab" 链接,请单击其中任何一个只会填充一个新的标签......也就是说,之后点击将覆盖任何在该选项卡中曾被打开。让我觉得这实际上是打开一个名为“_newtab”的选项卡,而不是特定于浏览器的解决方法。
2021-03-26 14:57:37
我很确定“_newtab”是没有意义的,除非有人有相反的文档。您所做的只是打开一个名为_newtab的窗口(这就是为什么所有与该目标的后续链接都在同一窗口中打开的原因)。您可以定位“foo”或“bar”并查看相同的行为。唯一众所周知的目标是_blank、_self、_parent 和_top。 htmlcodetutorial.com/linking/_A_TARGET.html
2021-03-30 14:57:37

你不能直接控制它,因为它是一个由 Internet Explorer 用户控制的选项。

使用具有不同窗口名称的 Window.open 打开页面将在新的浏览器窗口中打开,如弹出窗口,或者在新选项卡中打开,如果用户将浏览器配置为这样做。

当“让 Internet Explorer 决定弹出窗口的打开方式”选项被选中时,Internet Explorer 使用什么标准来做出这个决定?
2021-03-12 14:57:37

那些试图使用以下内容的人:

window.open('page.html', '_newtab');

真的应该看看 window.open 方法。

您所做的只是告诉浏览器打开一个名为“_newtab”的新窗口并将 page.html 加载到其中。您加载的每个新页面都将加载到该窗口中。但是,如果用户将浏览器设置为在新选项卡而不是新窗口中打开新页面,它将打开一个选项卡。无论如何,它对窗口或选项卡使用相同的名称。

如果您希望在不同的窗口或选项卡中打开不同的页面,则必须将新窗口/选项卡的名称更改为不同的名称,例如:

window.open('page2.html', '_newtab2');

当然,新窗口/选项卡的名称可以是任何名称,例如 page1、page2、page3 等,而不是 _newtab2。

知道他的东西。'_newtab' 不是保留名称。'_blank' 是一个特殊的东西,它打开另一个未指定和未命名的窗口/选项卡——这个你可以一遍又一遍地使用。'_newtab' 并不特别,只是它是您为新选项卡(默认)或窗口指定的特定名称,您的浏览器会根据您发送给它的任何 url 不断刷新。
2021-03-14 14:57:37

是否要使用新选项卡或新窗口取决于用户,修改此行为不是开发人员的业务。我不认为你能做到。

我很讨厌 - 当网站强迫我在新窗口/标签中打开时,我讨厌它 - 我完全有能力为自己做出这个决定。尤其是当他们用 javascript 做这件事时 - 这真的没有帮助。

我喜欢在家里打开成批的标签,所以在这种情况下我是用户。只是提醒一下,也有例外。
2021-03-20 14:57:37
虽然我同意当网站强制采取行动时可能会很烦人,但我认为简单地声明您不应该在不考虑某人可能想要这样做的原因的情况下做某事是没有帮助的。站点在新选项卡中打开内容是很常见的,尤其是外部站点链接,或者当活动页面被新内容替换没有帮助时,这并不是完全意外的行为。我还建议这不是问题的真正答案,并且更适合作为对原始帖子的评论。
2021-03-22 14:57:37
+1 对 Sam - 在选项卡或窗口中打开的新页面是浏览器(和用户)特定的选择。一般来说,当任何网站打开一个新窗口时,我都讨厌它。
2021-03-25 14:57:37
我不同意,假设用户的默认设置是每个 Web 应用程序而不是每个浏览器的设计选择。浏览器可以订阅应用程序不订阅的默认值。此外,如果浏览器为用户提供了一种覆盖应用程序默认值/浏览器默认值的方法,那么它是两全其美的。用户 > 应用程序 > 浏览器。
2021-04-02 14:57:37
除此之外:在“严格”定义中,没有有效的属性“目标”,因为不会打扰用户。试试看:validator.w3.org
2021-04-08 14:57:37

你有没有试过像

var open_link = window.open('','_blank');
open_link.location="somepage.html";
这个跨浏览器兼容吗?好像可以在IE8下使用,担心以后的版本或者其他浏览器。
2021-03-24 14:57:37
是的..它兼容跨浏览器。直到现在我都没有问题:D
2021-04-11 14:57:37