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');
javascript
internet-explorer-7
safari
tabs
Ricardo Vega
fuente
fuente
Respuestas:
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 ventana diferente se abrirá en una nueva ventana del navegador como una ventana emergente, O se abrirá en una nueva pestaña, si el usuario configuró el navegador para hacerlo.
fuente
Puede, en Firefox funciona, agregar el atributo target = "_ newtab" al ancla para forzar la apertura de una nueva pestaña.
En javascript puedes usar
Dicho eso, estoy parcialmente de acuerdo con Sam. No debe obligar al usuario a abrir nuevas páginas o una nueva pestaña sin mostrarles una pista de lo que sucederá antes de que hagan clic en el enlace.
Avíseme si también funciona en otro navegador (no tengo la oportunidad de probarlo en otro navegador que no sea Firefox en este momento).
Editar: referencia agregada para ie7 Tal vez este enlace pueda ser útil
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
fuente
Aquellos de ustedes que intentan utilizar lo siguiente:
realmente debería mirar el método window.open.
Todo lo que está haciendo es decirle al navegador que abra una nueva ventana NOMBRADA "_newtab" y cargue page.html en ella. Cada nueva página que cargue se cargará en esa ventana. Sin embargo, si un usuario tiene su navegador configurado para abrir nuevas páginas en nuevas pestañas en lugar de nuevas ventanas, se abrirá una pestaña. Independientemente, está usando el mismo nombre para la ventana o pestaña.
Si desea que se abran diferentes páginas en diferentes ventanas o pestañas, tendrá que cambiar el NOMBRE de la nueva ventana / pestaña a algo diferente, como:
Por supuesto, el nombre de la nueva ventana / pestaña podría ser cualquier nombre como page1, page2, page3, etc. en lugar de _newtab2.
fuente
Depende del usuario si quiere usar nuevas pestañas o nuevas ventanas, no es asunto del desarrollador modificar este comportamiento. No creo que puedas hacerlo.
Lo que más me molesta es que los sitios me obliguen a abrir en una nueva ventana / pestaña; soy bastante capaz de tomar esa decisión por mí mismo. Particularmente cuando lo hacen en javascript, eso es realmente inútil.
fuente
Ya has probado como
fuente
Me enteré en Chrome
solo funcionará una vez.
Puedes usar:
Para abrir varias pestañas nuevas.
fuente
El código que uso con jQuery:
Esto es útil para distinguir entre los eventos de clic de un padre en un hijo. Al utilizar este método, no activa el evento de clic del padre.
fuente
<a href="page.html" target="_blank">foo</a>
Esto funciona al 100%
window.open('http://www.google.com/','_newtab' + Date.now());
fuente
Si quisiera, podría usar este método, que es un poco hack, pero ofrecería la funcionalidad deseada:
fuente
Esto puede funcionar si puede llamar a un archivo por lotes (yo uso php con XP sp2 e IE8 ... puede probar IE7, no sé). Utilice lo siguiente (o similar) en su archivo .bat para abrir Windows: Inicie "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". No hay espacio entre las comillas y C: \ Progr ... etc. En algún momento, esto puede comenzar a abrir nuevas ventanas (es decir, target = "_ blank") en lugar de nuevas pestañas, pero funciona hasta cierto punto; no ampliamente probado. Para usar esto en un archivo por lotes normal (CMD.exe), probablemente necesite tener una ventana abierta. Simplemente compartiendo algo con lo que me topé. EDITADO para aclaraciones.
fuente
Funciona en IE7.
Saludos,
Glenn
fuente