Progtwigdo abrir nuevas páginas en tabs

Estoy tratando de "forzar" a Safari o IE7 a abrir una nueva página usando una nueva pestaña .

Programáticamente me refiero a algo como:

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

No puede controlar esto directamente, porque es una opción controlada por los usuarios de Internet Explorer.

Abrir páginas usando Window.open con un nombre de window diferente se abrirá en una nueva window del browser como una window emergente, O abrir en una nueva pestaña, si el usuario configuró el browser para hacerlo.

Puedes, en Firefox funciona, agregar el atributo target = "_ newtab" al anclaje para forzar la apertura de una nueva pestaña.

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

En javascript puedes usar

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

Dijo eso, estoy parcialmente de acuerdo con Sam. No debe forzar al usuario a abrir nuevas páginas o una nueva pestaña sin mostrarle una pista sobre lo que sucederá antes de hacer clic en el enlace.

Avíseme si también funciona en otro browser (no tengo la oportunidad de probarlo en otro browser que no sea Firefox en este momento).

Editar: reference añadida para ie7 Quizás este enlace puede ser útil
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/

Aquellos de ustedes que intenten usar lo siguiente:

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

debería realmente mirar el método window.open.

Todo lo que está haciendo es decirle al browser que abra una nueva window NOMBRADA "_newtab" y cargue page.html en ella. Cada nueva página que cargue se cargará en esa window. Sin embargo, si un usuario tiene su browser configurado para abrir páginas nuevas en tabs nuevas en lugar de windows nuevas, se abrirá una pestaña. Independientemente, está usando el mismo nombre para la window o pestaña.

Si desea que se abran diferentes páginas en diferentes windows o tabs, tendrá que cambiar el NOMBRE de la nueva window / pestaña a algo diferente como:

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

Por supuesto, el nombre de la nueva window / pestaña podría ser cualquier nombre como página1, página2, página3, etc. en lugar de _newtab2.

Depende del usuario si quiere usar tabs nuevas o windows nuevas, no es asunto del desarrollador modificar este comportamiento. No creo que puedas hacerlo.

Lo que más me molesta, lo odio cuando los sitios me obligan a abrir en una nueva window / pestaña, soy bastante capaz de tomar esa decisión por mí mismo. Particularmente cuando lo hacen en javascript, eso es realmente inútil.

¿Ya has probado como

 var open_link = window.open('','_blank'); open_link.location="somepage.html"; 

Me enteré en Chrome,

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

solo funcionará una vez

Puedes usar:

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

Para abrir múltiples tabs nuevas.

El código que uso con jQuery:

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

Esto es útil para distinguir entre los events de clic de un padre en un niño. Al usar este método, no activa el evento de clic de los padres.

Si quisieras, podrías usar este método, que es un poco raro, pero ofrecería la funcionalidad deseada:

 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() 

Esto puede funcionar si puede llamar a un file por lotes (yo uso php con XP sp2 e IE8 … puede probar IE7, dunno). Utilice lo siguiente (o similar) en su file .bat para abrir Windows: Inicie "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com&quot;. No hay espacio entre las comillas y C: \ Progr … etc. En algún momento, esto puede comenzar a abrir windows nuevas (es decir, target = "_ blank") en lugar de nuevas tabs, pero funciona hasta cierto punto; no extensamente probado. Para usar esto en un file de process por lotes normal (CMD.exe), probablemente necesite tener una window abierta. Solo compartiendo algo que encontré. EDITADO para aclaración.

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

Funciona en IE7.

Saludos,

Glenn