64 votes

Javascript : document.execCommand est-il compatible entre les différents navigateurs?

Je viens de tomber sur un morceau de code que je n'avais jamais vu auparavant :

document.execCommand('Copy');

qui semble copier le contenu du presse-papiers vers l'élément en focus.

Cette fonctionnalité est-elle disponible sur tous les navigateurs ?


J'ai trouvé une page qui montre une matrice de compatibilité pour document.execCommand.

28voto

peller Points 3989

Ceci est pour le mode 'design' où le navigateur transforme efficacement le document en éditeur. L'API execCommand a été introduite avec IE et a ensuite été ajoutée à HTML5. Les commandes exactes prises en charge, ainsi que leur comportement, varient selon les navigateurs. L'accès au presse-papiers est considéré comme un risque pour la sécurité.

4voto

user3798995 Points 1

Oui, je l'ai utilisé dans IE, Chrome, Safari. Si ça fonctionne pour ces navigateurs, alors ça devrait fonctionner pour les autres. De toute façon, la méthode execCommand de l'objet document est utilisée pour exécuter des commandes relatives aux fonctionnalités de l'édition de texte enrichi intégrées dans le navigateur. La syntaxe de l'execCommand est la suivante : document.execCommand(commande, uiBool, argument)

Le paramètre commande est la commande à exécuter - gras, souligné, police, etc.

Ensuite, vous avez uiBool qui est la valeur booléenne qui spécifie si l'interface utilisateur par défaut doit être affichée ou non.

Et le dernier paramètre est l'argument utilisé pour certaines commandes qui nécessitent que nous passions un argument. Si aucun argument n'est requis par la commande, nous passons une valeur de null comme troisième paramètre.

Exemple :

document.getElementById("whateverID").document.execCommand('bold', false, null);

ou :

document.getElementById("whateverID").document.execCommand('bold', false, );

3voto

Daniel Pryden Points 22167

Mise à jour: Eh bien, document.execCommand est documenté dans la documentation DOM de Mozilla, mais sa description là-bas semble légèrement différente de la documentation MSDN.

Je suis toujours assez sûr que ce n'est pas dans la norme ECMA-262.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X