Lembro-me de ler em algum lugar que, no HTML5, não era mais aceitável usá-lo target="_blank"
no HTML5, mas não consigo encontrá-lo agora.
Está tudo bem continuar usando target="_blank"
?
Sei que geralmente é uma má ideia, mas é a maneira mais fácil de abrir uma nova janela para algo como um PDF e também não exige que você confie no JavaScript.
javascript
html
window
Darryl Hein
fonte
fonte
target
et al. existir. Às vezes são uma necessidade. Uma página gerada dinamicamente com JS com estado, por exemplo, onde um iframe é menos desejável que uma nova guia (por exemplo, visualização de um PDF, como o OP indica). Ou quando um site seguro (como um banco) envia você para um link externo, mas não permite o uso do botão voltar devido à expiração do conteúdo. Como todas as coisas, esse atributo HTML não é uma "má idéia" a ser usada, mas deve ser usada com muito cuidado e cuidado, como em todas as bibliotecas, classes, funções e propriedades de toda a programação.Respostas:
Parece que
target="_blank"
ainda está tudo bem. Ele é listado como uma palavra-chave do contexto de navegação no rascunho HTML5 mais recente .fonte
target="_blank"
fará com que uma nova janela seja aberta sempre que o usuário clicar no link. A menos que isso seja realmente o que você deseja que aconteça (e raramente é), considere usartarget="somethingUnique"
para que o usuário obtenha apenas uma janela, mesmo se clicar no link várias vezes. Faz para um UX muito melhor.target="_blank"
bom é o compartilhamento de botões.Está tudo bem em usar
target="_blank"
; Isso foi eliminado no XHTML porque o direcionamento de novas janelas sempre exibirá o alerta pop-up na maioria dos navegadores. XHTML sempre mostrará um erro com o atributo target em uma validação.O HTML 5 trouxe de volta porque ainda o usamos. É nosso amigo e não podemos deixar ir.
Nunca deixe ir.
fonte
Embora
target="_blank"
seja aceitável no HTML5 , eu pessoalmente tento nunca usá-lo (mesmo para abrir PDFs em uma nova janela).HTML deve definir significado e conteúdo . Pergunte a si mesmo: "o significado do
a
elemento mudaria se otarget
atributo fosse removido?" Caso contrário, o código não deve entrar no HTML. (Na verdade, estou surpreso que o W3C tenha mantido ... acho que eles realmente não podem deixar ir.)O comportamento do navegador , especificamente o comportamento interativo com o usuário , deve ser implementado com linguagens de script do lado do cliente, como JavaScript. Como você deseja que o navegador se comporte de uma maneira específica, ou seja, abrir uma nova janela, você deve usar o JS. Mas, como você mencionou, esse comportamento requer que o navegador dependa de JS. (Embora se o seu site se degradar normalmente ou melhorar progressivamente ou o que for , ele ainda deve estar bom. Os usuários com o JS desativado não perderão muito.)
Dito isto, nenhuma dessas é a resposta certa. Em algum lugar, existe a opinião de que a forma como um link é aberto deve ser decidido pelo usuário final . Veja este exemplo.
Dito isto, os desenvolvedores da Web devem deixar absolutamente claro para onde vão seus links, que tipos e / ou formatos de fontes referenciados e o que fazem. As dicas de ferramentas podem ser suas amigas (a menos que você esteja usando um tablet ou telefone; nesse caso, especifique-as no site para celular). Todos sabemos o quanto é péssimo levar para algum lugar que não estávamos esperando ou fazer algo acontecer que não pretendíamos.
fonte
É também a maneira mais fácil de incomodar usuários que não são Windows. O PDF abre bem nos navegadores de outras plataformas. Abrir uma nova janela também atrapalha o histórico de navegação e complica o assunto em plataformas menores, como smartphones.
NÃO abra novas janelas para itens como PDF, apenas porque as versões mais antigas do Windows foram quebradas.
fonte
A maioria dos desenvolvedores da Web usa
target="_blank"
apenas para abrir links em uma nova guia. Se você usartarget="_blank"
apenas para abrir links em uma nova guia, ficará vulnerável a um invasor. Quando você abre um link em uma nova guia (target="_blank"
), a página que é aberta em uma nova guia pode acessar a guia inicial e alterar sua localização usando awindow.opener
propriedadeCódigo Javascript:
Prevenção:
fonte
Embora o destino ainda seja aceitável no HTML5, ele não é o preferido. Para vincular a um arquivo PDF, use o atributo de download em vez do atributo de destino.
Aqui está um exemplo:
Se o nome do arquivo original estiver codificado para armazenamento de arquivo exclusivo, você poderá especificar um nome de download fácil de usar, atribuindo um valor ao atributo de download:
Lembre-se de que, embora a maioria dos navegadores modernos ofereça suporte a esse recurso, alguns podem não. Veja caniuse.com para mais informações.
fonte
Com certeza é!
http://www.w3.org/TR/2010/WD-html5-20100624/text-level-semantics.html#the-a-element
fonte
Você pode fazê-lo da seguinte maneira com jquery, isso será aberto em uma nova janela:
fonte
Eu acho que o atributo target está obsoleto para o
<link>
elemento, não<a>
, provavelmente é por isso que você ouviu que ele não deveria mais ser usado.fonte