HTML - Motivo histórico ou técnico para o alvo = “_ em branco” com sublinhado?

11

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

Existe alguma razão histórica ou técnica para esta decisão / especificação?

    
por Kai Noack 27.01.2014 / 10:06

1 resposta

18

Se você usasse target="blank" , seu link será aberto 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 ocorre porque o atributo target 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 a página das Escolas do W3 relevante, ele mostrará 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 em todo o corpo da janela
  • <framename> Abre o documento vinculado em um quadro nomeado

Grande parte disso não faz sentido, a menos que você entenda um pouco sobre os quadros HTML. A utilização de uma tag HTML <frameset> permite dividir a janela do navegador em seções individuais (quadros), cada uma com sua própria página. Ao atribuir um nome a um quadro e usar o atributo target em seus links, é possível controlar qual quadro deve exibir o conteúdo relevante.

Mas há 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. É por isso que target="blank" funciona da maneira que faz.

Basicamente, não há razão para alterar a convenção atual, pois _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.

    
por 27.01.2014 / 19:10

Tags