2011-04-16 46 views
5

Quiero un script que haga que Internet Explorer de un usuario abra una pestaña nueva en lugar de una nueva ventana cada vez que alguien haga clic en un enlace/banner (target = "_ blank") en mi página web.JavaScript: ¿Forzar IE a abrir una pestaña nueva en lugar de una ventana?

No me gusta lo valores por defecto de Internet Explorer para abrir nuevas ventanas en lugar de nuevas pestañas cuando se hace clic en un enlace/banner. Todos los otros navegadores populares (por ejemplo, Chrome, Opera, Firefox) abren pestañas de forma predeterminada.

Preferiblemente este script tendría que trabajar en todas las versiones de IE que soportan las pestañas.

Entonces ... ¿Cómo, usando JavaScript fuerza de IE para que abra una nueva pestaña en lugar de ventana, que es su comportamiento por defecto?

+0

no es posible ... (* y es bueno que ** no puede ** anular las preferencias del usuario ... *) –

+0

La versión actual de IE no abre los enlaces '_blank' en las ventanas nuevas, sino que es nuevo pestañas. ¿Qué versión de IE probaste? –

Respuesta

2

Esto no es posible; es una configuración/comportamiento del navegador que no se puede llamar desde un script cargado en la página.

Programmatically open new pages on Tabs

+0

Cuando se selecciona la opción "Permitir que Internet Explorer decida cómo se abren las ventanas emergentes", ¿qué criterios utiliza Internet Explorer para tomar esta decisión? –

+1

@ Dead.Rabit, consulte aquí: http://superuser.com/questions/713743/what-rules-apply-when-ie9-decides-how-to-open-popups –

0

En EI11 al menos, la configuración de usuario por defecto es 'dejar Internet Explorer decidir cómo abrir ventanas emergentes deberían' (con la mano izquierda, no estoy seguro de lo que era el valor por defecto en las versiones anteriores). Algunos contexto en torno al comportamiento de IE con esta configuración predeterminada se puede encontrar aquí: https://superuser.com/questions/713743/what-rules-apply-when-ie9-decides-how-to-open-popups

por las respuestas de otros/comentarios aquí, hablando en términos generales, nosotros como programadores web tienen poco control sobre cómo se abren ventanas emergentes. Sin embargo, siempre que los usuarios no hayan cambiado su selección predeterminada (¡al menos en IE11), puede aproximar el comportamiento que desea a través de la invocación apropiada del método window.open(). Específicamente, si pasa menos de tres argumentos al método, IE generalmente abrirá una nueva pestaña, mientras pasa el argumento specs (tercero) (incluso si tiene un valor nulo o indefinido < - ¡esto me sorprendió inicialmente!) Resulta en IE apareciendo una ventana separada.

Si usted es feliz de vivir con una solución que no está garantizado, pero funciona una buena cantidad de tiempo, esto puede ayudar. ¡La 'tiranía del incumplimiento' funciona a nuestro favor en esta instancia al menos!

Chrome al menos no es tan exigente con el argumento specs - si es nulo o indefinido, se abrirá la pestaña en lugar de la ventana en la configuración predeterminada.

Cuestiones relacionadas