HTML: ¿razón histórica o técnica para target = "_ blank" con guión bajo?


14

Hasta hoy me pregunto por qué target="_blank"no se ha convertido target="blank". Estoy seguro de que los navegadores también podrían entender esto.

¿Hay alguna razón histórica o técnica para esta decisión / especificación?


El targetconcepto completo , aunque todavía está permitido en HTML 5, generalmente se considera desactualizado. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (en la 7 Frames and popups — just say nosección)
Jens Mühlenhoff

1
¿Alguien puede explicarme por qué esta pregunta no se migró a StackOverflow a este sitio? Es una opción perfecta para SO y muy débil para SU, según mi opinión.
trejder

Respuestas:


21

Si usara target="blank"su enlace, se abrirá 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 puede usarse para algo más que abrir una nueva ventana. Tiene cuatro valores integrados, pero también le permite especificar su propio objetivo. Si mira la página relevante de las Escuelas W3 , muestra 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 predeterminado)
  • _parent Abre el documento vinculado en el marco primario.
  • _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 entienda un poco acerca de los marcos HTML. El uso de una <frameset>etiqueta HTML le permite dividir la ventana del navegador en secciones individuales (marcos), cada una con su propia página. Al asignar un nombre a un marco y al usar el targetatributo en sus enlaces, es posible controlar qué marco debe mostrar el contenido relevante.

Pero hay 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 de la manera que lo hace.

Básicamente no hay razón para cambiar la convención actual ya que _blankes un caso especial. El tipo original de marcos ya no se puede usar mucho, pero hay otros casos en los que puede haber nombrado objetos con los que trabaja 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 dar ningún beneficio.


77
No debe referirse a W3Schools: w3fools.com
Jens Mühlenhoff

2
No estoy de acuerdo con que W3Schools no sea el mejor para las pautas de diseño web, o que el uso de enlaces con el atributo de destino esté desactualizado. Sin embargo, estaba usando la información para responder específicamente a la pregunta original.
James P

1
Creo que vincular a recursos que se sabe que son problemáticos no es una buena idea. Tu respuesta está bien.
Jens Mühlenhoff

1
Desearía que el target="_blank"atributo adicional no fuera necesario, sino que podríamos agregar un signo a la URL, por ejemplo, un asterisco <a href="*https://www.stackoverflow.com">Stackoverflow</a>. Eso ahorraría mucho escribir :)
Kai Noack
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.