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

我试图“强制”Safari或IE7 使用新标签打开新页面。

我编程的意思是这样的:

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

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

使用不同的窗口名称打开页面将打开一个新的浏览器窗口,如popup窗口, 打开一个新的选项卡,如果用户configuration浏览器这样做。

你可以在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/

那些你试图使用以下内容:

 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"; 

我在Chrome中发现,

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

将只能工作一次。

您可以使用:

 window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999)); 

打开多个新标签

我使用jQuery的代码:

 $("a.btn_external").click(function() { url_to_open = $(this).attr("href"); window.open(url_to_open, '_blank'); return false; }); 

这对于区分父子在父子中的点击事件很有用。 通过使用此方法,您不会触发父级的单击事件。

如果你想要你可以使用这种方法,这有点hacky,但会提供所需的function:

 jQuery('<a/>', { id: 'foo', href: 'http://google.com', title: 'Become a Googler', rel: 'external', text: 'Go to Google!', target:'_blank', style:'display:none;' }).appendTo('#mySelector'); $('#foo').click() 

这可能会工作,如果你可以调用一个batch file(我用的XP SP2和IE8的PHP …你可以尝试IE7,不知道)。 在.bat文件中使用以下(或类似的)来打开Windows:启动“”C:\ Progra〜1 \ Intern〜1 \ iexplore“http://www.site.com”。; 引号和C:\ Progr之间没有空格等等。在某些时候,这可能会开始打开新的窗口(即target =“_ blank”)而不是新的标签页,但是工作到一个点; 没有广泛的testing。 要在常规的batch file(CMD.exe)中使用它,您可能需要打开一个窗口。 只是分享一些我偶然发现的东西。 编辑澄清。

 <a href="http://www.google.com/" target="_self">New Tab Example</a> 

在IE7中工作。

问候,

格伦