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

Document : méthode queryCommandState()

Obsolète

Évitez d'utiliser cette fonctionnalité dans de nouveaux projets. The execCommand() method is "not implemented consistently or fully by user agents, and it is not expected that this will change in the foreseeable future." Cette fonctionnalité peut être candidate à la suppression des standards web ou des navigateurs.

Envisagez d'utiliser plutôt les fonctionnalités suivantes : Async clipboard ou contenteditable.

Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.

Note : Bien que la méthode execCommand() soit obsolète, il existe encore des cas d'utilisation valides pour lesquels il n'existe pas encore d'alternatives viables, comme mentionné dans l'article execCommand(). Dans ces cas, vous pouvez trouver cette méthode utile pour implémenter une expérience utilisateur·ice complète, mais testez pour garantir la compatibilité entre les navigateurs.

La méthode queryCommandState() de l'interface Document indique si la sélection actuelle a une certaine commande Document.execCommand() appliquée.

Syntaxe

js
queryCommandState(command)

Paramètres

command

Une commande de Document.execCommand()

Valeur de retour

queryCommandState() peut retourner une valeur booléenne ou null si l'état est inconnu.

Exemples

HTML

html
<div contenteditable="true">Sélectionnez une partie de ce texte&nbsp;!</div>
<button>Essayez de tester l'état de la commande 'gras'</button>
<hr />
<div id="sortie"></div>

JavaScript

js
function mettreEnGras() {
  const state = document.queryCommandState("bold");
  let message;
  switch (state) {
    case true:
      message = "Le formatage en gras sera supprimé du texte sélectionné.";
      break;
    case false:
      message = "Le texte sélectionné sera affiché en gras.";
      break;
    default:
      message = "L'état de la commande 'gras' est indéterminable.";
      break;
  }
  document.querySelector("#sortie").textContent = `Résultat : ${message}`;
  document.execCommand("bold");
}

document.querySelector("button").addEventListener("click", mettreEnGras);

Résultat

Spécifications

Cette fonctionnalité ne fait partie d'aucune spécification actuelle. Elle n'est plus destinée à devenir un standard. Il existe un brouillon non officiel de la spécification W3C execCommand (angl.).

Compatibilité des navigateurs

Voir aussi