2011-02-10 25 views
435

¿Cuál es la diferencia entre <a target="_new"> y <a target="_blank"> y qué debo usar si solo quiero abrir un enlace en una nueva pestaña/ventana?target = "_ blank" vs. target = "_ new"

+60

Resumen de anwsers actuales: '_new' no tiene ningún significado especial. Podrías escribir '_white_little_lamb' también. –

+10

@ x3ro ¿Cómo es que no es correcto decir que "' _new' "no tiene ningún significado especial? –

+2

@ ÁlvaroG.Vicario Me refería a "Podrías escribir ... en su lugar". Pero al pensar en ello, argumentaría que "no tiene ningún significado especial" no es lo mismo que "está explícitamente desaconsejado", pero podría ser algo que me molesta;) – fresskoma

Respuesta

562

Uso "_blank"!

De acuerdo con la HTML5 Spec:

un nombre de contexto navegación válida es cualquier cadena con al menos un carácter que no se inicia con un carácter de línea BAJA U + 005F. (. Los nombres que comienzan con un guión están reservados para las palabras clave especiales)

un nombre de contexto navegación válida o palabra clave es cualquier cadena que es un nombre de contexto de navegación válida o que sea una coincidencia entre mayúsculas y minúsculas ASCII para uno de: _blank, _self, _parent o _top "-. Source

eso significa que no hay una palabra clave como _new en HTML5, y not in HTML4 (and consequently XHTML) either eso quiere decir, que no habrá un comportamiento coherente en absoluto si se utiliza esto como. un valor para el atributo de destino.

+7

Dejar el texto en negrita de la especificación hace que la cita suene confusamente circular. Lo leí como "Un' nombre de contexto de navegación válido' o palabra clave es cualquier cadena que sea un 'nombre de contexto de navegación válido' o ..." –

+0

Supongo que tienes razón. Pero mi entendimiento es que ** el nombre del contexto de búsqueda ** se refiere a los nombres de los cuadros, etc. – fresskoma

+6

@lyoshenka, @ x3ro: Me tomé la libertad de agregar el párrafo anterior a la cita. Eso debería aclarar la confusión. – mercator

12

Esto puede haber sido preguntado antes, pero:

"todos los eslabones que especifica target =" _ nueva "busca y encuentra la ventana por su nombre, y abre en ella

Si utiliza target =" _blank, "se creará una nueva ventana cada vez, encima de la ventana actual".

desde aquí: http://thedesignspace.net/MT2archives/000316.html

9

target="_blank" abre una nueva pestaña en la mayoría de los navegadores.

110

El uso de target="_blank" le indicará al navegador que cree una nueva pestaña o ventana del navegador cuando el usuario haga clic en el enlace.

Usando target="_new" es técnicamente válido de acuerdo con las especificaciones, pero por lo que sé que cada navegador se comportan de la misma manera:

  • se buscará una pestaña o ventana con el nombre de contexto "_new"
  • si se encuentra una pestaña/ventana "_new", la URL se carga en ella
  • si no se encuentra, se crea una nueva pestaña/ventana con el nombre de contexto "_new" y se carga la URL

Nota target="_new" se comportará exactamente igual que target="new", y este último es HTML válido mientras que el primero es HTML no válido.

Agregando un poco de confusión a esto, en HTML4 el atributo target estaba en desuso. En HTML5, esta decisión se revirtió, y es una parte oficial de las especificaciones una vez más. Todos los navegadores son compatibles con target independientemente de la versión de HTML que utilice, pero algunos validadores marcarán el uso como obsoleto si su doctype es HTML4.

+3

Así que, básicamente, si tengo dos (o más) enlaces con 'target =" _ new "', ambos se abrirán en la misma pestaña, una sobreescribiendo la otra? –

+4

@ art-solopov, que yo sepa, eso es lo que sucederá en cada navegador. Sin embargo, "_new" es un valor ilegal para un objetivo, así que no lo hagas. –

0

El atributo de destino de un enlace obliga al navegador a abrir la página de destino en una nueva ventana del navegador.Usando _blank como un valor objetivo será generar una nueva ventana cada vez que durante el uso de _new sólo generar una ventana nueva y cada enlace se hace clic con un valor objetivo de _new sustituirá a la página cargada en la ventana

10

previamente generado es mi entendimiento de que target = whatever buscará un marco/ventana con ese nombre. Si no se encuentra, abrirá una nueva ventana con ese nombre. Si whatever == "_new", aparecerá igual que si usara _blank excepto .....

Al usar uno de los nombres de destino reservados, omitirá la fase de "búsqueda". Por lo tanto, target = "_blank" en una docena de enlaces abrirá una docena de ventanas en blanco, pero target = whatever en una docena de enlaces solo abrirán una ventana. target = "_new" en una docena de enlaces puede dar un comportamiento inconstante. No lo he probado en varios navegadores, pero solo debería abrir una ventana.

Al menos así es como interpreto las reglas.

4
  • _blank como un valor objetivo será generar una nueva ventana cada vez,
  • _new solamente se generan una ventana nueva.

Además, cada enlace al que se haga clic con un valor objetivo de _new reemplazará la página cargada en la ventana generada previamente.

Puede hacer clic aquí When to use _blank or _new para probarlo usted mismo.

+0

¿Puede indicar qué navegadores respetan '_new' como se describe? –

+0

@qarma Ese comportamiento es el descrito en todos los navegadores que conozco, '_new' no es una palabra clave mágica, es solo un nombre, si existe una ventana con ese nombre, la reutilizará, de lo contrario, se abrirá eso. Hacer clic en múltiples enlaces para esa ventana simplemente abrirá diferentes páginas en la ventana nombrada, en lugar de abrir varias páginas nuevas. – scragar

+0

La especificación realmente sugiere a los navegadores que 'ignoran' los objetivos que comienzan con el subrayado pero no son palabras clave. No hay sugerencias sobre qué debería hacer un navegador cuando "ignora" un nombre de destino no válido. Las posibilidades incluyen: (1) tratarlo como "_blank" (2) tratarlo como un nombre de ventana (como si no hubiera un guión bajo ilegal) (3) tratarlo como un nombre de ventana explícitamente vacío (4) tratarlo como si estuviera allí no era un atributo objetivo - Cualquier navegador podría elegir cualquiera de las interpretaciones. –

0

Para abrir un enlace en una nueva pestaña/ventana usará <a target="_blank">.

valor _blank = apuntado contexto de navegación: una nueva: pestaña o ventana en función de su valor de Configuración de exploración por

_new = no es válido; hay tal valor en HTML5 para el atributo de destino en un elemento

atributo de destino con todos sus valores en un elemento: video demo

7

Precaución - recuerde que debe incluir siempre las "comillas" - al menos en Chrome, target=_blank (sin comillas) NO ES LO MISMO que target="_blank" (con comillas).

Este último abre cada enlace en una nueva pestaña/ventana. El primero (citas faltantes) abre el primer enlace en el que hace clic en una pestaña/ventana nueva, luego sobrescribe la misma pestaña/ventana con cada enlace posterior en el que haga clic (que también se denomina con las comillas faltantes).

+0

Muy buen punto. Me encontré con este problema cuando no adjunté el _blank entre comillas. El enlace en el que hice clic desde mi pestaña "en blanco" recién creada era sobre escribir contenido dentro de esa pestaña en lugar de abrir una pestaña nueva. Encerrar el _blank entre comillas fuerza a Chrome a abrir una nueva pestaña cada vez. –

+0

Además, asegúrese de utilizar "_blank" no "_BLANK". Chrome es realmente quisquilloso con el caso y no abrirá una nueva pestaña usando "_BLANK" varias veces. –

18

TL; DR
USO _blank

El atributo de destino especifica dónde abrir el documento vinculado.

USAGE: target="xyz" [don't forget double quotes] 

_blank Opens the linked document in a new window or tab 
_self Opens the linked document in the same frame as it was clicked (this is default) 
_parent  Opens the linked document in the parent frame 
_top Opens the linked document in the full body of the window 
framename Opens the linked document in a named frame 

DESDE "_new" no es ninguno de estos vendrá BAJO "framename" por lo que si un usuario se re-hace clic en ese hipervínculo no se abrirá una nueva pestaña en lugar de actualización La pestaña existente. Mientras que en _blank si el usuario hace clic dos veces, se abren 2 nuevas pestañas.

-1

El uso de _New es útil cuando se trabaja en páginas con imágenes nítidas. Dado que target = "_ blank" no funciona y abre la página en el mismo iframe ... target new es la mejor solución para Iframe Pages. Solo mis cinco centavos.

7

Sé que esto es una vieja pregunta y la respuesta correcta, utilice _blank, ha sido mencionado varias veces, pero utilizando <a target="somesite.com" target=_blank>Link</a>es un riesgo de seguridad.

Es recommended (performance benefits) para utilizar <a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>

Cuestiones relacionadas