Web standards, arquitetura da informação, usabilidade, acessibilidade, tecnologia, filosofia de buteco (sic), e qualquer coisa em uma casca de noz!

Ir direto para o conteúdo

Target Blank

Por: Henrique Pereira

Friday 07 October 2005 às 00:26

Categoria: HTML / CSS / JavaScript

O exemplo deste post está aqui e o script pode ser baixado aqui.

Há diversas discussões sobre se um link em um site deve ou não abrir em outra página e as razões de quando isso deve ocorrer. Mesmo que um link em um site não possua o target="_blank" os browsers possuem teclas que te permite controlar se um link deve abrir na mesma página ou se deve abrir em outra.

Para os casos em que você precisar que um link abra em outra janela, em um site com doctype de XHTML 1.0 Strict, independente do visitante querer ou não, aqui tem uma solução.

O doctype XHTML 1.0 Strict não aceita o atributo target nos hiperlinks. Isso só é permitido se você utilizar um doctype transitional ou frameset, caso contrário, você não deve utilizar o atributo se quiser que seu código esteja dentro dos padrões da W3C. Entretanto, com um script simples você pode obter o mesmo comportamento que o atributo target="_blank" teria, mas sem utiliza-lo se você precisar faze-lo.

No seu documento XHTML você deve proceder da seguinte maneira. A função de javascript faz com que todos os hyperlinks com um atributo definido com o rel="externo" abram em uma nova janela. O atributo "rel" especifica uma relação entre o documento onde o link se encontra e o alvo de origem. Para esta função eu defini a palavra "externo" como o valor necessário do atributo "rel" para que o script faça com que este link abra em outra janela. Ou seja, todos os links que você quiser que abram em outra janela, devem possuir o atributo rel="externo" nele escrito como no exemplo:

<a href="www.seusite.com" title="seusite" rel="externo">seusite</a>

O Script ainda insere um texto no title do link dizendo que ele vai abrir em uma nova janela, ou outra mensagem que você desejar inserir para todos os links que abrem externamente no seu site.

Artigos relacionados:

Este texto não pode ser copiado ou reproduzido em nenhum outro site na íntegra sem autorização do autor!. Mais detalhes sobre licença de uso aqui!



Existem 26 comentários para “Target Blank”

# 1° Thiago Melo Friday 07 October 2005 às 19:42GMT

Muito bom este código! Agora que vou começar a me aventurar no “Strict” tenho certeza que este código me será muito útil! Parabéns por mais este artigo!

# 2° Flávio Theruo Kaminisse Friday 07 October 2005 às 23:10GMT

Henrique, realmente é uma funcionalidade muito interessante e muito útil.
E esse script é muito legal.

# 3° Roberto Almeida Longhi Saturday 08 October 2005 às 13:01GMT

Fala Henrique blz ?

deixa eu te perguntar … pelo que vi no script vc localiza os links e se estiverem com o atributo rel=”externo” ele adiciona o target via javascript.

Funciona perfeito mas, como o target não é aceito ele não deveria ser utilizado nem mesmo pelo script certo ou eu to viajando ?

vlw ótimo site … to preparando um layout pra mandar pra ti … flws

# 4° Giovani Friday 14 October 2005 às 21:34GMT

Muito legal o site, mas poderiam dar uma olhada na tipografia utilizada, pois tenho muita dificuldade para ler no site.

# 5° eduveks Tuesday 18 October 2005 às 11:01GMT

Isto não seria mais simples???

<a onclick=”window.open(this.href,’_blank’);return false;” href=”http://some_oother_site.com”>Some Other Site</a>

# 6° eduveks Tuesday 18 October 2005 às 10:58GMT

Isto não seria mais fácil e mais simples???

Some Other Site

# 7° Henrique Costa Pereira Tuesday 18 October 2005 às 11:08GMT

Edu, sua primeira opção não funciona no XHTML 1 Strict. Sua segunda opção funciona, muito bem para poucos links. Para um site grande, é mais limpo administrar, criando um javascript pequeno e administrando cada link com um rel=”externo”.

# 8° Orestes Wednesday 26 October 2005 às 01:04GMT

Concerteza vo usar isso
É um “chute muito forte no saco” ter que ficar segurando a tecla Shift pra abrir em uma outra janela.

# 9° Arthur S. E. Wednesday 09 November 2005 às 12:31GMT

Henrique, sou ignorante em relação ao XHTML e gostaria de saber porquê o XHTML 1.0 Strict não aceita “target” em hiperlinks (porque foi “deprecated”)? (se é que há uma resposta)

# 10° Edy Wednesday 23 November 2005 às 06:10GMT

Acho q o mais simples seria:
Texto

# 11° Edy Wednesday 23 November 2005 às 07:44GMT

a href=”site.com” onclick=”this.target=’_blank’”

# 12° Paulo Henrique Andrade Mota Cristianismo Monday 17 July 2006 às 10:11GMT

Validei este código no Adobe Dreamweaver:

Início

Recebi um aviso de que o atributo “rel”, da tag , não é suportado em navegadores Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer 6.0 e Netscape Navigator 6.0. Isso seria verdade?

# 13° Areshandore Friday 27 April 2007 às 05:27GMT

Gostei do script pra mostrar como mudar uma monte de tag ao mesmo tempo, mas pra mostrar como manter xhtml strict é uma baita trapassa.

Dúvida: o do Edy(#12) ainda mantém strict?

Comparando com o Google e as trapassas que fazem para conseguir altas posições no ranking e que o google bane quem trapaceia, então podemos dizer que seu código seria banido pelo w3c.

Mas que o código é bacana, isso é.

# 14° Areshandore Friday 27 April 2007 às 05:56GMT

Uma solução é deixar o usuário decidir.
Basta deixar um checkbox marcado com a opção “Abrir links de sites externos em uma nova janela”. Se o cara desmarcar é porque não quer continuar no site ou porque gosta de ficar usando o botão Voltar.

# 15° neo Thursday 19 July 2007 às 01:56GMT

ah esse código é muito grande e é tem muita gambiarra,mas até que é maneio.
Eu acho que da ,acho não tem certeza que da para fazer um código pequeno e manero sem gambiarra!.

# 16° Fabio Alexis Wednesday 31 October 2007 às 11:50GMT

Olá,

Constatei (assim como o Paulo disse) o IE não suporta o atributo rel. Alguém sabe como solucionar esse problema?

# 17° Leonardo Monday 16 August 2010 às 14:18GMT

Não estou conseguindo baixar o Script será que você poderia upar ele de novo?

Deixe um comentário

Observação: Todos os campos obrigatórios estão marcados com um asterisco (*).

Informações de Contato

Sobre o Revolução Etc

Henrique Costa Pereira O Revolução Etc é o site pessoal do Henrique C. Pereira que trabalha com design de interfaces, planejamento, arquitetura da informação e desenvolvimento para web. Ele escreve aqui sobre várias coisas relacionadas com acessibilidade, web standards, tecnologia, desenvolvimento e o que mais der na telha, além de eventualmente escrever alguma coisa ou outra para o Webinsider. Leia mais.

Publicidade

  • Banner
  • Banner

Henrique Costa Pereira - Revolução Etc - (CC) Alguns Direitos Reservados - Powered by WordPress

O conteúdo deste site de autoria de Henrique Costa Pereira está sob a licença de Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil. Permissões e/ou restrições além do escopo desta licença podem ser vistas e/ou requeridas na minha página de licença.

Nenhum conteúdo deste site pode ser copiado e reproduzido em outro site sem autorização do autor! Mais detalhes aqui!

Powered by WordPress