![HTML: ¿Razón histórica o técnica para target="_blank" con guión bajo?](https://rvso.com/image/1395403/HTML%3A%20%C2%BFRaz%C3%B3n%20hist%C3%B3rica%20o%20t%C3%A9cnica%20para%20target%3D%22_blank%22%20con%20gui%C3%B3n%20bajo%3F.png)
Hasta hoy me pregunto por qué target="_blank"
no se ha convertido target="blank"
. Estoy seguro de que los navegadores también podrán entender esto.
¿Existe alguna razón histórica o técnica para esta decisión/especificación?
Respuesta1
Si usaras target="blank"
tu enlacevoluntadabrir en una nueva pestaña/ventana. Sin embargo, hay una sutil diferencia. Al hacer clic nuevamente en el enlace, se reutilizará la ventana que se abrió la primera vez en lugar de abrir una nueva.
Esto se debe a que el target
atributo se puede utilizar para algo más que abrir una nueva ventana. Tiene cuatro valores incorporados pero también le permite especificar su propio objetivo. Si miras lo relevantePágina de escuelas W3muestra las siguientes opciones:
_blank
Abre el documento vinculado en una nueva ventana o pestaña_self
Abre el documento vinculado en el mismo marco en el que se hizo clic (esto es el valor predeterminado)_parent
Abre el documento vinculado en el marco principal._top
Abre el documento vinculado en el cuerpo completo de la ventana.<framename>
Abre el documento vinculado en un marco con nombre
Gran parte de esto no tiene sentido a menos que entiendas un poco acerca de los marcos HTML. El uso de una etiqueta HTML <frameset>
le permite dividir la ventana del navegador en secciones individuales (marcos), cada una con su propia página. Al darle un nombre a un marco y usar el target
atributo en sus enlaces, es posible controlar qué marco debe mostrar el contenido relevante.
Pero existen algunas reglas adicionales para el atributo de destino que los navegadores deben aplicar:
- Si el objetivo es un nombre especificado por el usuario, debe comenzar con una letra (sin guiones bajos, números, etc.)
- Si el objetivo es un nombre especificado por el usuario pero ningún marco/ventana coincide con ese nombre, cree una nueva pestaña/ventana con ese nombre. Por eso
target="blank"
funciona como lo hace.
Básicamente, no hay razón para cambiar la convención actual ya que _blank
es un caso especial. Es posible que el tipo original de marcos ya no se utilice mucho, pero hay otros casos en los que se pueden tener objetos con nombre con los que funciona el atributo de destino, por ejemplo, iframes que son marcos individuales incrustados directamente en una página. Cambiar el estándar rompería muchas páginas existentes sin aportar ningún beneficio.