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?
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.
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.
target
conceito, embora ainda seja permitido no HTML 5, é geralmente considerado desatualizado. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (no7 Frames and popups — just say no
seção)Respostas:
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 nomeadoMuito 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 otarget
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:
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.fonte