Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

<base> : l'élément pour l'URL de base du document

Baseline Widely available *

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'élément HTML <base> définit l'URL de base à utiliser pour toutes les URL relatives d'un document. Il ne peut y avoir qu'un seul élément <base> dans un document.

L'URL de base utilisée par un document peut être obtenue par les scripts avec Node.baseURI. Si le document ne contient aucun élément <base>, alors baseURI prend la valeur de location.href.

Attributs

Cet élément inclut les attributs universels.

Attention : Un élément <base> doit avoir un attribut href, un attribut target ou les deux. Si au moins un de ces attributs est spécifié, l'élément <base> doit précéder les autres éléments dont les valeurs d'attribut sont des URL, comme l'attribut href d'un élément <link>.

href

L'URL de base à utiliser dans tout le document pour les URL relatives. Les URL absolues et relatives sont autorisées. Les URL data: et javascript: ne sont pas autorisées.

target

Un mot-clé ou un nom défini par l'auteur du contexte de navigation par défaut pour afficher les résultats de la navigation à partir des éléments <a>, <area> ou <form> sans attribut target explicite. Les mots-clés suivants ont des significations particulières :

  • _self (par défaut) : Affiche le résultat dans le contexte de navigation courant.
  • _blank : Affiche le résultat dans un nouveau contexte de navigation sans nom.
  • _parent : Affiche le résultat dans le contexte de navigation parent du contexte courant, si la page courante est dans un cadre. S'il n'y a pas de parent, agit comme _self.
  • _top : Affiche le résultat dans le contexte de navigation le plus haut (le contexte de navigation qui est un ancêtre du contexte courant et qui n'a pas de parent). S'il n'y a pas de parent, agit comme _self.

Notes d'utilisation

Éléments <base> multiples

Si plusieurs éléments <base> sont utilisés, seules les premières valeurs pour href et target sont utilisées, les autres valeurs sont ignorées.

Ancres dans la page

Les liens pointant vers un fragment dans le document — par exemple, <a href="#un-id"> — sont résolus avec le <base>, ce qui déclenche une requête HTTP vers l'URL de base avec le fragment ajouté.

Par exemple, avec <base href="https://exemple.fr/"> et ce lien : <a href="#ancre">Vers l'ancre</a>. Le lien pointe vers https://exemple.fr/#ancre.

target ne doit pas contenir de saut de ligne ASCII, de tabulation ou de <

Si l'attribut target contient un saut de ligne ASCII, une tabulation ou le caractère <, la valeur est réinitialisée à _blank. Ceci vise à empêcher les attaques d'injection de balisage flottant, une attaque sans script dans laquelle un attribut target non fermé est injecté dans la page, de sorte que tout texte qui suit est capturé jusqu'à ce que le navigateur atteigne un caractère qui ferme l'attribut.

Open Graph

Les balises Open Graph ne tiennent pas de compte de l'élément <base>, et doivent toujours avoir des URL absolues complètes. Par exemple :

html
<meta property="og:image" content="https://exemple.fr/thumbnail.jpg" />

Exemples

html
<base href="https://www.exemple.fr/" />
<base target="_blank" />
<base target="_top" href="https://exemple.fr/" />

Résumé technique

Catégories de contenu Contenu de méta-données.
Contenu autorisé Aucun ; c'est un élément vide.
Omission de balises Il ne doit pas y avoir de balise fermante.
Parents autorisés N'importe quel élément <head> qui ne contient pas un autre élément <base>.
Rôle ARIA implicite Pas de rôle correspondant
Rôles ARIA autorisés Aucun role autorisé
Interface DOM HTMLBaseElement

Spécifications

Specification
HTML
# the-base-element

Compatibilité des navigateurs