HTML: ¿Razón histórica o técnica para target="_blank" con guión bajo?

HTML: ¿Razón histórica o técnica para target="_blank" con guión bajo?

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 targetatributo 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:

  • _blankAbre el documento vinculado en una nueva ventana o pestaña
  • _selfAbre el documento vinculado en el mismo marco en el que se hizo clic (esto es el valor predeterminado)
  • _parentAbre el documento vinculado en el marco principal.
  • _topAbre 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 targetatributo 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 _blankes 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.

información relacionada