Pergunta

Enquanto target = "_ blank" está obsoleta, porque é que o validador do W3C não dando um erro sobre isso? Você pode colar e verificar este código int validador :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<p>
<a href="http://www.stackoverflow.com" title="New window will open" target="_blank">Link opens in new window</a>
</p>
</body>
</html>

Editar:

Isso significa que XHTML 1.1 suporta target =”_ blank”, mas XHTML 1.0 estrito não? Ou é um bug no validador do W3C?

Foi útil?

Solução

Você está sendo validado como XHTML Transição em vez de Strict . Se você substituir manualmente o tipo de documento para XHTML 1.0 Strict você receber esse erro:

Erro de linha 11, coluna 76:. Atributo "target" existe, mas não pode ser usado para este elemento

... om" title = "Nova janela será aberta" target = "_ blank"> O link se abre em uma nova janela

Use este doctype se você quiser ser rigoroso:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Os esquemas de transição ainda permitir que certos elementos obsoletos e atributos, acho que para ajudar as pessoas transição em passos para uma marcação mais rigorosa.

EDIT:

OK, então o código original XHTML 1.1 do qual existe apenas uma única versão (sem Strict / Transitório), e de acordo com este FAQ o atributo de destino é, na verdade não é permitido. Então eu acho que isso deve ser um bug no validador.

Outras dicas

É desaconselhável, mas não removido. É por isso que eu acho que não há problema em validar isso.

O XHTML1.1 documentação mostra que o atributo de destino de um elemento a pode ser "qualquer coisa".

Será que isso significa XHTML 1.1 alvo apoio =”_ blank” mas XHTML 1.0 estrito não?

Bem, sim.

Se você precisa de uma solução para o seu problema, então este é um deles. Outra opção é usar window.open () em vez de target = "_ blank".

Eu usei o seu código e eu tenho o seguinte erro.

Erro encontrado durante a verificação este documento como XHTML 1.1!

Validação de saída: 1 Erro

  1. Erro de linha 11, coluna 76: não há nenhum atributo "target"

    ... .com" title = "Nova janela será aberta" target = "_ blank"> O link se abre em uma nova janela

O validador está a trabalhar a partir de 2012/01/30. Você não pode passar a validação usando target = "_ blank"

Substitua por esta parte válida de código:

onclick = "target = '_ blank';"

Enquanto xhtml pode apoiar "targrt =" _ blank", não vai validá-lo porque Hase sido depreciado. Se você não quiser usar JS, você terá que usar de transição, em vez de estrita no seu 'tipo de documento' .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top