我正在尝试“强制”Safari 或 IE7使用新选项卡打开新页面。
以编程方式我的意思是这样的:
window.open('page.html','newtaborsomething');
我正在尝试“强制”Safari 或 IE7使用新选项卡打开新页面。
以编程方式我的意思是这样的:
window.open('page.html','newtaborsomething');
您可以在 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/
你不能直接控制它,因为它是一个由 Internet Explorer 用户控制的选项。
使用具有不同窗口名称的 Window.open 打开页面将在新的浏览器窗口中打开,如弹出窗口,或者在新选项卡中打开,如果用户将浏览器配置为这样做。
那些试图使用以下内容的人:
window.open('page.html', '_newtab');
真的应该看看 window.open 方法。
您所做的只是告诉浏览器打开一个名为“_newtab”的新窗口并将 page.html 加载到其中。您加载的每个新页面都将加载到该窗口中。但是,如果用户将浏览器设置为在新选项卡而不是新窗口中打开新页面,它将打开一个选项卡。无论如何,它对窗口或选项卡使用相同的名称。
如果您希望在不同的窗口或选项卡中打开不同的页面,则必须将新窗口/选项卡的名称更改为不同的名称,例如:
window.open('page2.html', '_newtab2');
当然,新窗口/选项卡的名称可以是任何名称,例如 page1、page2、page3 等,而不是 _newtab2。
是否要使用新选项卡或新窗口取决于用户,修改此行为不是开发人员的业务。我不认为你能做到。
我很讨厌 - 当网站强迫我在新窗口/标签中打开时,我讨厌它 - 我完全有能力为自己做出这个决定。尤其是当他们用 javascript 做这件事时 - 这真的没有帮助。
你有没有试过像
var open_link = window.open('','_blank');
open_link.location="somepage.html";