BT

Accueil InfoQ Actualités Une Bibliothèque JavaScript Poids Plume propose une Intégration du Presse-Papier sans Flash

Une Bibliothèque JavaScript Poids Plume propose une Intégration du Presse-Papier sans Flash

Favoris

Zeno Rocha a publié Clipboard.js, une bibliothèque JavaScript servant uniquement à copier le texte d'une page web vers le presse-papier local de l'ordinateur.

Chaque page d'un repository GitHub présente un widget qui permet de cloner l'adresse HTTPS du repo. A côté de celui-ci, il y a un bouton permettant au clic de copier l'URL du repo dans le presse-papier de l'utilisateur. GitHub utilise une bibliothèque nommée ZeroClipboard. Le problème est que cela passe par un apple Flash invisible et Flash finit par tomber dans les oubliettes des fournisseurs de navigateurs.

Firefox a bloqué Flash par défaut il y a quelques temps, obligeant les utilisateurs à accepter explicitement l'usage de Flash pour copier une information dans le presse-papier.

Un article est apparu dans le Mozilla Hacks montrant l'usage de l'API document.execCommand(). D'après MDN, execCommand "permet à quelqu'un d'activer une commande et de manipuler le contenu d'une région éditable". Jusqu'à la version 41 de Firefox, les fonctions "copier" et "coller" sont désactivées.

Plutôt que de laisser n'importe quel code JavaScript copier sans contrôle le texte vers le presse-papier de l'utilisateur, les navigateurs limitent de tels évènements à une action initiée manuellement. Si le code essaye de copier le texte sans accord explicite de l'utilisateur, l'appel échoue.

Rocha a repris l'idée de execCommand et est allé un peu plus loin en y ajoutant également la Selection API. En combinant ces technologies, Clipboard.js propose une bibliothèque polyvalente et légère, avec une API utile pour les développeurs. Pour connecter un bouton à la bibliothèque, il suffit de déclarer l'élément déclenchant le presse-papier :

var clipboard = new Clipboard('.btn');

Alors que la bibliothèque est supportée par la plupart des navigateurs, Safari n'accepte pas encore les commandes de couper et copier.

Les développeurs de ZeroClipboard ont discuté du passage à cette méthode pour leur bibliothèque, retournant à Flash pour les fonctions non supportées. James Green, contributeur de ZeroClipboard dit de Clipboard.js : "C'est une option légère et bonne, mais je sais qu'il y aura forcément besoin de migrer ZeroClipboard sur HTML5 pour de nombreux utilisateurs".

L'API Presse-Papier HTML5 est toujours en cours d'étude avec un support partiel de la plupart des navigateurs.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.