Question

Alors que target = « _ blank » est dépréciée, pourquoi le validateur du W3C ne donne pas une erreur à ce sujet? Vous pouvez coller et vérifier ce code int validateur :

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

Modifier

Est-ce que cela signifie que XHTML 1.1 prend en charge target = » _ blank », mais XHTML 1.0 ne pas stricte? Ou est-ce un bogue dans le validateur du W3C?

Était-ce utile?

La solution

Vous en cours de validation XHTML transition plutôt que Strict . Si vous remplacez manuellement le type de document à XHTML 1.0 Strict vous obtenez cette erreur:

  

Erreur ligne 11, colonne 76:. Attribut « cible » existe, mais ne peut pas être utilisé pour cet élément

     

... om » title = "Nouvelle fenêtre ouverte" target = "_ blank"> lien ouvre dans une nouvelle fenêtre

Cette doctype si vous voulez être stricte:

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

Les schémas de transition permettent encore certains éléments et attributs dépréciés, je suppose que pour aider les gens transition dans les étapes vers un balisage plus stricte.

EDIT:

OK, donc le code d'origine était XHTML 1.1 dont il n'y a qu'une seule version (pas Strict / transition), et selon cette FAQ l'attribut cible est en effet pas permis. Donc je suppose que cela doit être un bug dans le validateur.

Autres conseils

Il est dépréciée, mais pas supprimé. Voilà pourquoi je pense qu'il ya un problème dans la validation de cela.

Le XHTML1.1 documentation montre que l'attribut cible d'un élément de a peut être « quelque chose ».

Est-ce que cela signifie XHTML 1.1 support target = » _ blank » mais XHTML 1.0 strict pas?

Eh bien, oui.

Si vous avez besoin d'une solution de contournement pour votre problème, c'est l'un d'entre eux. Une autre option consiste à utiliser window.open () au lieu de target = "_ blank".

J'ai utilisé votre code et je suis l'erreur suivante.

Erreur détectée lors de la vérification de ce document XHTML 1.1!

Sortie de validation: 1 Erreur

  1. Ligne d'erreur 11, colonne 76: il n'y a pas d'attribut "cible"

    ... .com » title = "Nouvelle fenêtre ouverte" target = "_ blank"> lien ouvre dans une nouvelle fenêtre

Le validateur travaille au 1/30/2012. Vous ne pouvez pas passer la validation en utilisant target = "_ blank"

Remplacer par cette partie de code valide:

onclick = "target = '_ blank';"

Alors que xhtml peut prendre en charge « targrt = » _ blank », il ne validera pas parce qu'il Hase dépréciés. Si vous ne voulez pas utiliser JS, vous devrez utiliser de transition au lieu de stricte dans votre « type de document » .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top