--- title: document.execCommand slug: Web/API/Document/execCommand tags: - API - DOM - Method - Méthodes - Reference translation_of: Web/API/Document/execCommand --- {{ApiRef("DOM")}}{{deprecated_header}} Lorsqu'un document HTML passe en [`designMode`](/fr/docs/Web/API/Document/designMode), l'objet `document` correspondant expose une méthode **`execCommand()`** permettant d'exécuter des commandes manipulant la région éditable courante tels que [les champs de formulaire](/fr/docs/Web/HTML/Element/input) ou les éléments [`contentEditable`](/fr/docs/Web/HTML/Global_attributes/contenteditable). La plupart des commandes affectent la [sélection](/fr/docs/Web/API/Selection) du document (mise en gras, italique, etc.), tandis que d'autres insèrent de nouveaux éléments (un lien) ou modifient toute une ligne (indentation). Lorsqu'on utilise `contentEditable`, `execCommand()` affecte l'élément éditable courant. ## Syntaxe ```js document.execCommand(aCommandName, aShowDefaultUI, aValueArgument) ``` ### Valeur de retour Un booléen ({{jsxref('Boolean')}}) qui vaut `false` si la commande n'est pas prise en charge ou si elle est désactivée. > **Note :** `document.execCommand()` ne renvoie > `true` que s'il est appelé à partir d'une interaction utilisateur. On ne > peut pas l'invoquer dans un script afin de vérifier la prise en charge navigateur avant > d'appeler une commande. À partir de Firefox 82, les appels imbriqués à > `document.execCommand()` renverront toujours `false`. ### Paramètres - `aCommandName` - : Une chaîne de caractères {{domxref("DOMString")}} indiquant le nom de la commande à exécuter. Voir {{anch("Commands")}} pour une liste de commandes possibles. - `aShowDefaultUI` - : Un booléen ({{jsxref("Boolean")}}) indiquant si l'interface utilisateur par défaut devrait être affichée. Ce n'est pas implémenté par Mozilla. - `aValueArgument` - : Pour les commandes utilisant un argument en entrée, il s'agit d'une chaîne {{domxref("DOMString")}} qui fournit cette information. On pourra, par exemple, `insertImage` utilise l'URL de l'image à insérer. On utilisera `null` si aucun argument n'est utilisé. ### Commandes - `backColor` - : Modifie la couleur d'arrière-plan du document. Avec le mode `styleWithCss` cela affecte la couleur d'arrière-plan du bloc englobant. Une chaîne de caractères décrivant une valeur {{cssxref("<color>")}} doit être passée en argument. On notera qu'Internet Explorer utilise ceci pour la couleur d'arrière-plan du texte. - `bold` - : Active ou désactive la mise en gras pour la sélection ou à partir du point d'insertion Internet Explorer utilise la balise {{HTMLElement("strong")}} plutôt que {{HTMLElement("b")}}. - `ClearAuthenticationCache` - : Supprime toutes les informations d'authentification _credentials_) du cache. - `contentReadOnly` - : Rend le contenu du document en lecture seule ou éditable en fonction du booléen passé en argument (n'est pas pris en charge par Internet Explorer) - `copy` - : Copie la sélection courante vers le presse-papier. Les conditions pour obtenir ce comportement peuvent varier d'un navigateur à l'autre. Veuillez voir le tableau de compatibilité ci-après. - `createLink` - : Crée un hyperlien à partir de la sélection (sous réserve qu'il y en ait une). Une chaîne de caractères formant un URI est nécessaire comme argument afin de fournir la valeur de l'attribut `href`. L'URI doit contenir au moins un caractère (qui peut être un blanc). (Internet Explorer créera un lien avec une valeur `null`.) - `cut` - : Coupe le contenu de la sélection courante et le copie dans le presse-papier. Les conditions pour obtenir ce comportement peuvent varier d'un navigateur à l'autre. Veuillez voir le tableau de compatibilité ci-après. - `decreaseFontSize` - : Ajoute une balise {{HTMLElement("small")}} autour de la sélection ou au point d'insertion. (Non pris en charge par Internet Explorer.) - `defaultParagraphSeparator` - : Modifie le séparateur de paragraphe utilisé lorsque de nouveaux paragraphes sont créés dans les zones de texte éditables. Voir [Différences dans la génération du balisage](/fr/docs/Web/Guide/HTML/Editable_content#differences_in_markup_generation) pour plus de détails. - `delete` - : Supprimer la sélection courante. - `enableAbsolutePositionEditor` - : Active ou désactive la poignée qui permet de déplacer les éléments positionnés de façon absolue. Celle-ci est désactivée par défaut depuis Firefox 64 ({{bug(1490641)}}). - `enableInlineTableEditing` - : Active ou désactive les contrôles pour l'insertion ou la suppression des lignes ou colonnes de tableau. Les contrôles sont désactivés par défaut depuis Firefox 64 ({{bug(1490641)}}). - `enableObjectResizing` - : Active ou désactive les contrôles permettant de redimensionner les images, tableaux ou les éléments positionnés de façon absolue. Les poignées sont désactivées par défaut depuis Firefox 64 ({{bug(1490641)}}). - `fontName` - : Modifie le nom de la police pour la sélection ou à partir du point d'insertion. La valeur fournie en argument doit être un nom de police (ex. `"Arial"`). - `fontSize` - : Modifie la taille de la police pour la sélection ou à partir du point d'insertion. La valeur fournie en argument doit être un entier compris entre 1 et 7. - `foreColor` - : Modifie la couleur de la police pour la sélection ou à partir du point d'insertion. La valeur passée en argument doit être une chaîne de caractères décrivant une couleur exprimée en notation hexadécimale. - `formatBlock` - : Ajoute un élément HTML de bloc autour de la ligne contenant la sélection courante et remplace l'éventuel élément de bloc englobant s'il en existe un (pour Firefox, {{HTMLElement("blockquote")}} fera exception et englobera n'importe quel bloc). L'argument passé doit être un nom de balise. Tous les éléments de bloc peuvent en théorie être utilisés. (Internet Explorer et Edge ne prennent en charge que les balises ` H1``H6 `, `ADDRESS`, et `PRE` qui doivent être passées entre chevrons : `"