Olá! Friday, 23 de August de 2019.



Dicas CódigoFonte.net
Tuesday, 14 de September de 2004

Atributo target da TAG de link e o XHTML

O XHTML aparentemente proíbe a utilização de alguns atributos comumente utilizados no HTML convencional. Por exemplo, caso se valide um documento XHTML via o DTD do XHTML-Strict que contenha um link com o atributo target="_Blank", este não será aprovado. O XHTML-Transitional é mais relaxado e não acusará o erro.

Mas suponha que você queira utilizar o XHTML-Strict, abrir uma nova página pelo link e ainda assim passar na validação, como proceder?

Opção 1 - Javascript

Mista

O que acontece aqui é que quando o usuário clicka no link, o js window.open(this.href); faria o browser navegar para a url especificada, porém o return false; evita que o browser navegue e o força a abrir o link em uma nova página. Caso o usuário tenha desabilitado o browser para Javascript ou este não suporte o js, este método vem a falhar.

Opção 2 - Javascript DOM

Poderíamos pensar de outra maneira, ié. mudar o DOM - Document Object Model. Normalmente o browser interpreta que ao clickarmos em um link normal [sem o target="_blank"] a navegação continua na mesma instância do browser. Poderíamos mudar este comportamento via Javascript da seguinte maneira:

Link

Deste modo abriríamos o link em uma nova página sem utilizar o atributo target="_blank", mas novamente caso o usuário tenha desabilitado o browser para Javascript ou este não suporte o js, este método vem a falhar.

Opção 3 - Modularidade do XHTML

Até então o XHTML tinha todas as definições estabelecidas em um único e enorme DTD. O XHTML 1.1 pega o XHTML 1.0 Strict e o divide em diversos módulos abstratos e deste modo os módulos são utilizados de acordo com a necessidade. Naturalmente veremos como utilizar o módulo Target.

Basicamente utilizamos o mesmo DTD acrescido do módulo Target:

%xhtml-datatypes.mod;]]> %xhtml-qname.mod;]]> %xhtml11.dtd; %xhtml-target.mod;]]>

Salve o DTD acima como: xhtml11-target.dtd em algum diretório de seu website e crie seu documento XHTML da seguinte maneira:

...

Agora você poderá utilizar o atributo Target e ainda assim <a href='http://validator.w3.org' target=_blank>validar</a> o seu documento.


<font size=1 face=verdana>
Ken Awamura<br>
Mista Informática Ltda<br>
http://www.mista.com.br<br>
</font>

Comentários do artigo [Novo comentário]

Gabriel Barros - 01 de October de 2009 - 13:48
Bem interessante p/ quem quer validar o código e abrir links em novas janelas. Dessa forma, o usuário não sai do seu site e você ainda sai ganhando com o código limpo XHTML Strict.
Gabriel - 08 de December de 2014 - 00:57
Ds
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010