2009-12-16 13 views
5

Mentre target = "_ blank" è deprecato, perché il validatore W3C non dà un errore a riguardo? È possibile incollare e verificare questo codice int il validator:Perché il documento non viene convalidato come XHTML 1.1 STRICT?

<!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> 

Edit:

Vuol dire che XHTML 1.1 supporta target =”_ blank”, ma XHTML 1.0 strict non lo fa? O è un bug nel validatore W3C?

risposta

4

Si sta convalidando come XHTML Transitional anziché Strict. Se si sostituisce manualmente il doctype a XHTML 1.0 Strict si ottiene questo errore:

Error Line 11, Column 76: Attribute "target" exists, but can not be used for this element.

…om" title="New window will open" target="_blank">Link opens in new window

Utilizzare questo tipo di documento, se si vuole essere rigorosi:

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

Gli schemi transitorie consentono ancora alcuni elementi e attributi deprecati, Suppongo di aiutare le persone nella transizione in passaggi verso un markup più severo.

EDIT:

OK, in modo che il codice originale era XHTML 1.1 di cui v'è solo una versione singola (senza Strict/Transitional), e secondo this FAQ l'attributo di destinazione non è infatti consentito. Quindi immagino che questo deve essere un bug nel validatore.

+0

che dire di XHTML 1.1 –

+0

E 'davvero un bug nel validatore W3C –

2

È deprecato ma non rimosso. Ecco perché penso che ci sia un problema nel convalidarlo.

2

Il XHTML1.1 documentation indica che l'attributo di destinazione di un elemento a può essere "qualsiasi cosa".

+0

significa XHTML bersaglio 1.1 sostegno = "_ Blank"? –

+1

Per quanto ne so, si. –

2

Significa XHTML 1.1 target di supporto = "_ blank" ma XHTML 1.0 strict no?

Bene, sì.

Se hai bisogno di una soluzione alternativa per il tuo problema, allora questo è uno di questi. Un'altra opzione è usare window.open() invece di target = "_ blank".

+0

ma se sto lavorando con XHTML 1.1 posso usare target = "_ blank"? –

+0

ovviamente .. puoi .. –

0

Mentre xhtml può supportare "targrt =" _ blank ", NON lo convaliderà perché è stato deprezzato Se non si desidera utilizzare JS, sarà necessario utilizzare transitional anziché strict nel proprio" tipo di documento "

1

ho usato il codice e ho ottenuto il seguente errore

errore trovato durante il controllo questo documento XHTML 1.1

convalida di uscita:..! 1 errore

  1. Errore riga 11, colonna 76: non esiste alcun attributo "target"

    ....com" title = "" target = "si aprirà Nuova finestra _ blank"> link si apre in una nuova finestra

Il validatore sta lavorando come del 2012/01/30. Non è possibile passare la convalida utilizzando target = "_ blank"

Sostituire con questa porzione valida di codice:?

onclick = "target = '_ blank';"

Problemi correlati