¿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.
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 :)
target
concepto 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 la7 Frames and popups — just say no
sección)Respuestas:
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
target
atributo 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 eltarget
atributo 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:
target="blank"
funciona de la manera que lo hace.Básicamente no hay razón para cambiar la convención actual ya que
_blank
es 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.fuente
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 :)