Resumo das respostas atuais: _newnão tem nenhum significado especial. Você poderia escrever _white_little_lambtambém.
Álvaro González
10
@ x3ro Como é que é errado dizer que " _new" não tem nenhum significado especial?
Álvaro González
3
@ ÁlvaroG.Vicario Eu estava me referindo a "Você poderia escrever ... em vez disso". Mas pensar sobre isso, eu diria que "não tem nenhum significado especial" não é o mesmo que "é explicitamente desencorajado", mas que poderia ser me nitpicking;)
fresskoma
5
Gostaria de lembrar a todos que usar target="_blank"sem rel="noopener"é uma potencial vulnerabilidade de segurança. Pesquise para rel="noopener"saber mais.
Um nome de contexto de navegação válido é qualquer sequência com pelo menos um caractere que não comece com um caractere U + 005F LOW LINE. (Os nomes que começam com um sublinhado são reservados para palavras-chave especiais.)
Um nome ou palavra - chave de contexto de navegação válido é qualquer string que seja um nome de contexto de navegação válido ou uma correspondência que não diferencia maiúsculas de minúsculas ASCII para um dos seguintes: _blank, _self, _parent ou _top. "- Origem
Isso significa que não existe uma palavra-chave como _newno HTML5 e nem no HTML4 (e consequentemente no XHTML) . Isso significa que não haverá comportamento consistente, se você usar isso como um valor para o atributo de destino.
Recomendação de segurança
Como Daniel e Michael apontaram nos comentários, ao usar o alvo _blankapontando para um site não confiável, você também deve definir rel="noopener". Isso impede que o site de abertura mexa com o abridor via JavaScript. Veja este post para mais informações.
Deixar de fora o texto em negrito da especificação faz com que essa citação pareça confusa e circular. Eu li como "A valid browsing context nameou palavra-chave é qualquer string que seja um valid browsing context nameou ...."
Alex Grin
6
@lyoshenka, @ x3ro: Tomei a liberdade de adicionar o parágrafo anterior à citação. Isso deve esclarecer a confusão.
mercator
5
@aesede: Leia as especificações. Eles não são válidos porque "my_custom_name" não pode ser prefixado com um sublinhado. Assim, "novo" seria bom, mas "_novo" não é!
Por favor, considere acrescentando que as pessoas também deve adicionar rel="noopener noreferrer"devido à vulnerabilidade de ataque javascript detarget="_blank"
Michael
126
O uso target="_blank"instruirá o navegador a criar uma nova guia ou janela do navegador quando o usuário clicar no link.
O uso target="_new"é tecnicamente inválido de acordo com as especificações, mas, tanto quanto eu sei, todos os navegadores se comportarão da mesma maneira:
ele procurará uma guia ou janela com o nome de contexto "_new"
se uma guia / janela "_new" for encontrada, o URL será carregado nela
se não for encontrado, uma nova guia / janela será criada com o nome de contexto "_new" e o URL carregado nela
A nota target="_new"se comportará exatamente da mesma forma que target="new", e o último é HTML válido, enquanto o anterior é HTML inválido.
Adicionando alguma confusão a isso, no HTML4 o targetatributo foi preterido. No HTML5, essa decisão foi revertida e é uma parte oficial da especificação mais uma vez. Todos os navegadores oferecem suporte, targetindependentemente da versão do HTML que você está usando, mas alguns validadores sinalizam o uso como obsoleto se o seu tipo de documento for HTML4.
Então, basicamente, se eu tiver dois (ou mais) links com target="_new", os dois abrirão na mesma guia, um substituindo o outro?
Art-solopov
4
@ art-solopov até onde eu sei, sim, é isso que acontecerá em todos os navegadores. No entanto, "_new" é um valor ilegal para um destino, portanto não faça isso.
Abhi Beckert
25
TL; DR USE _blank
O atributo target especifica onde abrir o 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 QUE "_new" não seja um desses, VIRÁ SOB "framename", portanto, se um usuário clicar novamente nesse hiperlink, ele não abrirá uma nova guia, em vez disso, atualizará a guia existente. Enquanto em _blank, se o usuário clicar duas vezes, duas novas guias serão abertas.
Sei que essa é uma pergunta antiga e a resposta correta, uso _blank, foi mencionada várias vezes, mas o uso <a target="somesite.com" target="_blank">Link</a>é um risco à segurança .
é meu entendimento que target = whateverprocurará um quadro / janela com esse nome. Se não for encontrado, ele abrirá uma nova janela com esse nome. Se whatever == "_new", aparecerá como se você usasse, _blankexceto .....
O uso de um dos nomes de destino reservados ignorará a fase "aparência". Assim, target = "_blank"em uma dúzia de links abrirá uma dúzia de janelas em branco, mas target = whateverem uma dúzia de links abrirá apenas uma janela. target = "_new"em uma dúzia de links pode gerar um comportamento inconstante. Eu não tentei em vários navegadores, mas deveria abrir apenas uma janela.
Cuidado - lembre-se de sempre incluir as "aspas" - pelo menos no Chrome, target=_blank(sem aspas) NÃO É O MESMO como target="_blank"(com aspas).
O último abre cada link em uma nova guia / janela. O primeiro (aspas ausentes) abre o primeiro link em que você clica em uma nova guia / janela e substitui a mesma guia / janela com cada link subsequente em que você clica (que também é nomeado com as aspas ausentes).
Muito bom ponto. Encontrei este problema quando não coloquei o _blank entre aspas. O link em que clicou na minha guia "em branco" recém-criada foi sobre a criação de conteúdo nessa guia, em vez de abrir uma nova guia. Colocar o _blank entre aspas força o chrome a abrir uma nova guia sempre.
Steve Scherer
Além disso, certifique-se de usar "_blank" e não "_BLANK". O Chrome é realmente exigente quanto ao caso e não abre uma nova guia usando "_BLANK" várias vezes.
9788 Steve Jobs -
5
_blank como valor-alvo gerará uma nova janela toda vez,
_new irá gerar apenas uma nova janela.
Além disso, todos os links clicados com o valor-alvo _new substituirão a página carregada na janela gerada anteriormente.
Você pode listar quais navegadores respeitam _newconforme descrito?
Dima Tisnek
@qarma Esse comportamento é como descrito em todos os navegadores que conheço, _newnão é uma palavra-chave mágica, é apenas um nome, se uma janela com esse nome existir, ela será reutilizada, caso contrário, será aberta. Clicar em vários links para essa janela abrirá apenas páginas diferentes na janela nomeada, em vez de abrir várias novas páginas.
scragar
As especificações sugerem aos navegadores que eles ignoresegmentam que começa com sublinhado, mas não são palavras-chave. Não há sugestões para o que um navegador deve fazer quando "ignora" um nome de destino inválido. As possibilidades incluem: (1) tratá-lo como "_blank" (2) tratá-lo como um nome de janela (como se não houvesse um sublinhado ilegal) (3) tratá-lo como um nome de janela explicitamente vazio (4) tratá-lo como lá não era um atributo de destino. - Qualquer navegador pode escolher qualquer uma das interpretações.
Jesse Chisholm
0
O atributo de destino de um link força o navegador a abrir a página de destino em uma nova janela do navegador. Usar _blankcomo valor-alvo gerará uma nova janela toda vez, enquanto o uso _newgerará apenas uma nova janela e todos os links clicados com um valor-alvo _newsubstituirão a página carregada na janela gerada anteriormente
O uso de _New é útil ao trabalhar em páginas com iframed. Como target = "_ blank" não funciona e abre a página no mesmo iframe ... o target new é a melhor solução para as páginas do Iframe. Apenas meus cinco centavos.
_new
não tem nenhum significado especial. Você poderia escrever_white_little_lamb
também._new
" não tem nenhum significado especial?target="_blank"
semrel="noopener"
é uma potencial vulnerabilidade de segurança. Pesquise pararel="noopener"
saber mais.Respostas:
Use "_blank"
De acordo com a especificação HTML5 :
Isso significa que não existe uma palavra-chave como
_new
no HTML5 e nem no HTML4 (e consequentemente no XHTML) . Isso significa que não haverá comportamento consistente, se você usar isso como um valor para o atributo de destino.Recomendação de segurança
Como Daniel e Michael apontaram nos comentários, ao usar o alvo
_blank
apontando para um site não confiável, você também deve definirrel="noopener"
. Isso impede que o site de abertura mexa com o abridor via JavaScript. Veja este post para mais informações.fonte
valid browsing context name
ou palavra-chave é qualquer string que seja umvalid browsing context name
ou ...."rel="noopener noreferrer"
devido à vulnerabilidade de ataque javascript detarget="_blank"
O uso
target="_blank"
instruirá o navegador a criar uma nova guia ou janela do navegador quando o usuário clicar no link.O uso
target="_new"
é tecnicamente inválido de acordo com as especificações, mas, tanto quanto eu sei, todos os navegadores se comportarão da mesma maneira:A nota
target="_new"
se comportará exatamente da mesma forma quetarget="new"
, e o último é HTML válido, enquanto o anterior é HTML inválido.Adicionando alguma confusão a isso, no HTML4 o
target
atributo foi preterido. No HTML5, essa decisão foi revertida e é uma parte oficial da especificação mais uma vez. Todos os navegadores oferecem suporte,target
independentemente da versão do HTML que você está usando, mas alguns validadores sinalizam o uso como obsoleto se o seu tipo de documento for HTML4.fonte
target="_new"
, os dois abrirão na mesma guia, um substituindo o outro?TL; DR
USE _blank
O atributo target especifica onde abrir o documento vinculado.
DESDE QUE "_new" não seja um desses, VIRÁ SOB "framename", portanto, se um usuário clicar novamente nesse hiperlink, ele não abrirá uma nova guia, em vez disso, atualizará a guia existente. Enquanto em _blank, se o usuário clicar duas vezes, duas novas guias serão abertas.
fonte
Sei que essa é uma pergunta antiga e a resposta correta, uso
_blank
, foi mencionada várias vezes, mas o uso<a target="somesite.com" target="_blank">Link</a>
é um risco à segurança .É recomendável ( benefícios de desempenho ) usar:
fonte
Isso pode ter sido solicitado antes, mas:
"todo link que especifica target =" _ new "procura e encontra a janela pelo nome e abre nela.
Se você usar target = "_ blank", uma nova janela será criada a cada vez, na parte superior da janela atual. "
daqui: http://thedesignspace.net/MT2archives/000316.html
fonte
target="_blank"
abre uma nova guia na maioria dos navegadores.fonte
é meu entendimento que
target = whatever
procurará um quadro / janela com esse nome. Se não for encontrado, ele abrirá uma nova janela com esse nome. Sewhatever == "_new"
, aparecerá como se você usasse,_blank
exceto .....O uso de um dos nomes de destino reservados ignorará a fase "aparência". Assim,
target = "_blank"
em uma dúzia de links abrirá uma dúzia de janelas em branco, mastarget = whatever
em uma dúzia de links abrirá apenas uma janela.target = "_new"
em uma dúzia de links pode gerar um comportamento inconstante. Eu não tentei em vários navegadores, mas deveria abrir apenas uma janela.Pelo menos é assim que interpreto as regras.
fonte
Cuidado - lembre-se de sempre incluir as "aspas" - pelo menos no Chrome,
target=_blank
(sem aspas) NÃO É O MESMO comotarget="_blank"
(com aspas).O último abre cada link em uma nova guia / janela. O primeiro (aspas ausentes) abre o primeiro link em que você clica em uma nova guia / janela e substitui a mesma guia / janela com cada link subsequente em que você clica (que também é nomeado com as aspas ausentes).
fonte
Além disso, todos os links clicados com o valor-alvo _new substituirão a página carregada na janela gerada anteriormente.
Você pode clicar aqui Quando usar _blank ou _new para experimentar por si mesmo.
fonte
_new
conforme descrito?_new
não é uma palavra-chave mágica, é apenas um nome, se uma janela com esse nome existir, ela será reutilizada, caso contrário, será aberta. Clicar em vários links para essa janela abrirá apenas páginas diferentes na janela nomeada, em vez de abrir várias novas páginas.ignore
segmentam que começa com sublinhado, mas não são palavras-chave. Não há sugestões para o que um navegador deve fazer quando "ignora" um nome de destino inválido. As possibilidades incluem: (1) tratá-lo como "_blank" (2) tratá-lo como um nome de janela (como se não houvesse um sublinhado ilegal) (3) tratá-lo como um nome de janela explicitamente vazio (4) tratá-lo como lá não era um atributo de destino. - Qualquer navegador pode escolher qualquer uma das interpretações.O atributo de destino de um link força o navegador a abrir a página de destino em uma nova janela do navegador. Usar
_blank
como valor-alvo gerará uma nova janela toda vez, enquanto o uso_new
gerará apenas uma nova janela e todos os links clicados com um valor-alvo_new
substituirão a página carregada na janela gerada anteriormentefonte
Para abrir um link em uma nova guia / janela, você utilizará
<a target="_blank">
.value
_blank
= contexto de navegação direcionado: um novo: guia ou janela, dependendo das configurações de navegaçãovalor
_new
= inválido; não existe esse valor em HTML5 para o atributo de destino em um elementoatributo target com todos os seus valores em um elemento: video demo
fonte
O uso de _New é útil ao trabalhar em páginas com iframed. Como target = "_ blank" não funciona e abre a página no mesmo iframe ... o target new é a melhor solução para as páginas do Iframe. Apenas meus cinco centavos.
fonte