Domanda

Mentre target = "_ blank" è deprecato, perché è il validatore W3C non dando un errore su questo? È possibile incollare e verificare questo codice int il validatore :

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

Modifica

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

È stato utile?

Soluzione

Stai per essere convalidate come XHTML Transitional , piuttosto che Strict . Se si sostituisce manualmente il doctype a XHTML 1.0 Strict si ottiene questo errore:

  

Errore Linea 11, Colonna 76:. Attributo "target" esiste, ma non può essere utilizzato per questo elemento

     

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

Con 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, immagino che per aiutare le persone a transizione in passi verso un markup più rigoroso.

Modifica

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

Altri suggerimenti

Si è deprecato, ma non rimosso. Ecco perché penso che ci sia un problema nel convalidare questo.

Il XHTML1.1 documentazione mostra che l'attributo target di un elemento a può essere "nulla".

Fa significa XHTML 1.1 bersaglio supporto =”_ blank” ma XHTML 1.0 strict no?

Beh, sì.

Se avete bisogno di una soluzione per il vostro problema, allora questo è uno di loro. Un'altra opzione è quella di utilizzare window.open () al posto del target = "_ blank".

Ho usato il codice e ho ottenuto il seguente errore.

Errore trovato durante il controllo questo documento XHTML 1.1!

La convalida di uscita: 1 Errore

  1. Errore Linea 11, Colonna 76: non v'è alcun attributo "target"

    ... .com" title = "si aprirà Nuova finestra" target = "_ 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';"

Mentre xhtml può sostenere "targrt =" _ blank", esso non convalidarlo perché Hase stato svalutato. Se non si desidera utilizzare JS, si dovrà usare di transizione, invece di rigorosa nel vostro 'tipo di documento' .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top