HTML - Motivo histórico ou técnico para target = “_ blank” com sublinhado?

11

Até hoje eu estou me perguntando por que target="_blank" não se tornou target="blank". Tenho certeza de que os navegadores também poderiam entender isso.

Existem razões históricas ou técnicas para esta decisão / especificação?

Kai Noack
fonte
O todo target conceito, embora ainda seja permitido no HTML 5, é geralmente considerado desatualizado. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (no 7 Frames and popups — just say no seção)
Jens Mühlenhoff
1
Alguém pode me explicar por que essa pergunta não foi migrada para o StackOverflow para este site? É uma escolha perfeita para SO e muito fraca para SU - como por minha opinião.
trejder

Respostas:

18

Se você fosse usar target="blank" seu link vai abrir em uma nova guia / janela. No entanto, há uma diferença sutil. Clicar no link novamente reutilizará a janela que foi aberta na primeira vez, em vez de abrir uma nova.

Isso é porque o target atributo pode ser usado para mais do que apenas abrir uma nova janela. Ele tem quatro valores internos, mas também permite que você especifique seu próprio destino. Se você olhar para o relevante Página W3 Escolas mostra as seguintes opções:

  • _blank Abre o documento vinculado em uma nova janela ou guia
  • _self Abre o documento vinculado no mesmo quadro em que foi clicado (esse é o padrão)
  • _parent Abre o documento vinculado no quadro pai
  • _top Abre o documento vinculado no corpo inteiro da janela
  • <framename> Abre o documento vinculado em um quadro nomeado

Muito disso não faz sentido, a menos que você entenda um pouco sobre quadros HTML. Usando um HTML <frameset> tag permitem que você divida a janela do navegador em seções individuais (quadros), cada uma com sua própria página. Dando a um quadro um nome e usando o target atributo em seus links, é possível controlar qual quadro deve exibir o conteúdo relevante.

Mas existem algumas regras adicionais para o atributo de destino que os navegadores devem aplicar:

  • Se o destino for um nome especificado pelo usuário, ele deverá começar com uma letra (sem sublinhados, números, etc.)
  • Se o destino for um nome especificado pelo usuário, mas nenhum quadro / janela corresponder a esse nome, crie uma nova guia / janela usando esse nome. Isso é por que target="blank" funciona da maneira que faz.

Basicamente não há razão para mudar a convenção atual desde _blank é um caso especial. O tipo original de quadros não pode ser usado muito mais, mas há outros casos em que você pode ter objetos nomeados com os quais o atributo de destino trabalha, por exemplo, iframes que são quadros únicos incorporados diretamente em uma página. Mudar o padrão quebraria muitas páginas existentes sem dar nenhum benefício.

James P
fonte
7
Você não deve se referir ao W3Schools: w3fools.com
Jens Mühlenhoff
1
Eu não discordo que o W3Schools não é o melhor para as diretrizes de web design, ou que usar links com o atributo target está desatualizado. No entanto, eu estava usando as informações para responder especificamente à pergunta original.
James P
1
Acho que vincular a recursos conhecidos como problemáticos não é uma boa ideia. Você responde está bem.
Jens Mühlenhoff