¿Existe una forma de hacer que un enlace abra una nueva ventana del navegador (no una pestaña) sin usar javascript?
Con el HTML puro no se puede influir en esto - cada navegador moderno (= el usuario) tiene un control total sobre este comportamiento porque se ha abusado mucho de él en el pasado...
Puedes abrir una nueva ventana (HTML4) o un nuevo contexto de navegación (HTML5). El contexto de navegación en los navegadores modernos es principalmente "nueva pestaña" en lugar de "nueva ventana". Usted no tiene ninguna influencia sobre eso, y no puede "forzar" los navegadores modernos para abrir una nueva ventana.
Para ello, utilice el atributo target
del elemento ancla'. El valor que busca es _blank
[2].
<a href="www.example.com/example.html" target="_blank">link text</a>
Forzar una nueva ventana es posible a través de javascript - ver Ievgen's excelente respuesta a continuación para una solución de javascript.
*Sin embargo, tenga en cuenta que la apertura de ventanas a través de javascript (si no se hace en el evento onclick de un elemento de anclaje) está sujeta a ser bloqueada por los bloqueadores de ventanas emergentes.
Este atributo se remonta a los tiempos en que los navegadores no tenían pestañas y el uso de conjuntos de marcos era lo más moderno. Desde entonces, la funcionalidad de este atributo ha cambiado ligeramente (véase MDN Docu)
Hay algunos otros valores que ya no tienen mucho sentido (porque fueron diseñados con conjuntos de marcos en mente) como _parent
, _self
o _top
;
Puedes probar esto:-
<a href="some.htm" target="_blank">Link Text</a>
y puedes probar este también:-
<a href="some.htm" onclick="if(!event.ctrlKey&&!window.opera){alert('Hold the Ctrl Key');return false;}else{return true;}" target="_blank">Link Text</a>