web-dev-qa-db-fra.com

Différence entre _self, _top et _parent dans l'attribut cible de la balise d'ancrage

Je sais que _blank ouvre un nouvel onglet lorsqu'il est utilisé avec la balise anchor. De plus, il existe des cibles auto-définies que j'utilise lors de l'utilisation de jeux de cadres, mais j'aimerais connaître la différence entre _parent, _self et _top.

68
Joseph Rex

Bien que ces réponses soient bonnes, à mon humble avis, je ne pense pas qu'elles répondent pleinement à la question.

L'attribut target d'une balise d'ancre indique au navigateur la cible de la destination de l'ancre. Ils ont été créés à l'origine pour manipuler et diriger les ancrages dans le système de document. C'était bien avant que CSS ne vienne au secours des développeurs HTML.

Alors que target="_self" Est la valeur par défaut du navigateur et que la cible la plus courante est target="_blank", Qui ouvre l'ancre dans une nouvelle fenêtre (qui a généralement été redirigée vers des onglets par les paramètres du navigateur). Les balises "_parent", "_top" Et framename restent un mystère pour ceux qui ne connaissent pas la création du site iframe en tant que tendance.

target="_self" Ceci ouvre une ancre dans le même cadre. Ce qui est déroutant, c’est que, parce que nous n’écrivons généralement plus dans les cadres (et que les balises frame et frameset sont obsolètes dans HTML5), il s’agit d’une fonction de fenêtre identique. Au lieu de cela, si cette ancre était imbriquée dans des cadres, elle serait ouverte dans un mode de tri de type bac à sable, ce qui signifie uniquement dans ce cadre.

target="_parent" Ouvre le prochain niveau d'une trame si elles sont imbriquées les unes dans les autres

target="_top" Ceci rompt en dehors de tous les cadres dans lesquels il est imbriqué et ouvre le lien en tant que document supérieur dans la fenêtre du navigateur.

target="framename Ceci était à l'origine obsolète mais ramené en HTML5. Cela ciblera la trame exacte en question. Alors que name était la méthode appropriée, cette méthode a été remplacée par l'utilisation de la balise d'identification id.

<!--Example:-->

<html>
<head>
</head>
<body>
<iframe src="url1" name="A"><p> This my first iframe</p></iframe>
<iframe src="url2" name="B"><p> This my second iframe</p></iframe>
<iframe src="url3" name="C"><p> This my third iframe</p></iframe>

<a href="url4" target="B"></a>
</body>
</html>
93
Brian Ellis

La section 6.16 Noms de cibles de trame dans la spécification HTML 4.01 définit les significations, mais elle est partiellement obsolète. Il fait référence à des "fenêtres", alors que les brouillons HTML5 parlent de manière plus réaliste de "contextes de navigation", car les navigateurs modernes utilisent souvent des onglets au lieu de fenêtres dans ce contexte.

En bref, _self Est la valeur par défaut (contexte de navigation actuel, c'est-à-dire fenêtre ou onglet actuels), il est donc utile de remplacer uniquement le paramètre <base target=...>. La valeur _parent Fait référence au jeu de cadres qui est le parent du cadre actuel, alors que _top "Sort de tous les cadres" et ouvre le document lié dans la fenêtre entière du navigateur.

16
Jukka K. Korpela

target="_blank"

Ouvre une nouvelle fenêtre et affiche les données associées.

target="_self"

Ouvre la fenêtre dans le même cadre, cela signifie que la fenêtre existante est elle-même.

target="_top"

Ouvre le document lié dans le corps entier de la fenêtre.

target="_parent"

Ouvre les données dans la taille de la fenêtre parente.

10
Srinivas

_blank Ouvre le lien dans une nouvelle fenêtre ou un nouvel onglet _self Ouvre le lien dans le même cadre que celui sur lequel il a été cliqué _parent Ouvre le lien dans le cadre parent _top Ouvre le lien dans le corps de la fenêtre

Le cadre parent d'une évaluation de fonction est l'environnement dans lequel la fonction a été appelée. Il n'est pas nécessairement numéroté un moins que le numéro de trame de l'évaluation en cours, ni l'environnement dans lequel la fonction a été définie.

0
Amaan Malik