115 votes

Copier / Mettre du texte dans le presse-papiers avec FireFox, Safari et Chrome

Dans Internet Explorer, je peux utiliser l'objet clipboardData pour accéder au presse-papiers. Comment puis-je faire cela dans FireFox, Safari et/ou Chrome ?

0 votes

Si vous voulez faire cela dans la console de chrome, vous pouvez utiliser copy , developer.chrome.com/devtools/docs/commandline-api

2 votes

1 votes

@bjb568, la question que vous mentionnez a été saisie plus tard, c'est donc le doublon.

50voto

ine Points 10065

Pour des raisons de sécurité, Firefox ne vous permet pas de placer du texte dans le presse-papiers. Cependant, il existe une solution de contournement en utilisant Flash.

function copyIntoClipboard(text) {

    var flashId = 'flashId-HKxmj5';

    /* Replace this with your clipboard.swf location */
    var clipboardSWF = 'http://appengine.bravo9.com/copy-into-clipboard/clipboard.swf';

    if(!document.getElementById(flashId)) {
        var div = document.createElement('div');
        div.id = flashId;
        document.body.appendChild(div);
    }
    document.getElementById(flashId).innerHTML = '';
    var content = '<embed src="' + 
        clipboardSWF +
        '" FlashVars="clipboard=' + encodeURIComponent(text) +
        '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashId).innerHTML = content;
}

Le seul inconvénient est que cela nécessite l'activation de Flash.

La source est actuellement morte : http://bravo9.com/journal/copying-text-into-the-clipboard-with-javascript-in-firefox-safari-ie-opera-292559a2-cc6c-4ebf-9724-d23e8bc5ad8a/ (tout comme son Cache Google )

17 votes

Un troisième inconvénient est qu'il ne fonctionnera pas localement (file://) sans changer les permissions sur flash. code.google.com/p/zeroclipboard est une bibliothèque construite autour de cette méthode.

0 votes

@b1naryatr0phy : C'est vrai en grande partie mais HTML5 n'a toujours pas de remplacement pour la fonctionnalité de presse-papiers actuellement offerte par Flash (par exemple en utilisant ZeroClipboard).

3 votes

Depuis 2014, cette méthode ne fonctionne plus dans aucun navigateur moderne. ZeroClipboard est la seule technologie qui permette actuellement de résoudre ce

13voto

agsamek Points 1998

Online Spreadsheets accroche les événements Ctrl+C, Ctrl+V et transfère le focus sur un contrôle TextArea caché, puis définit son contenu en fonction du nouveau contenu souhaité du presse-papiers pour la copie ou lit son contenu une fois l'événement terminé pour le collage.

voir aussi Est-il possible de lire le presse-papiers dans Firefox, Safari et Chrome en utilisant Javascript ?

9voto

Hank Gay Points 36173

Veillez à ne pas nuire à la convivialité générale du système de l'utilisateur en écrasant le contenu de son presse-papiers avec des données qu'il n'a pas explicitement choisi d'y placer.

8voto

Troels Thomsen Points 4839

Firefox vous permet de stocker des données dans le presse-papiers, mais pour des raisons de sécurité, cette fonction est désactivée par défaut. Voyez comment l'activer dans "Accorder à JavaScript l'accès au presse-papiers" dans la base de connaissances de Mozilla Firefox.

La solution proposée par amdfan est la meilleure si vous avez beaucoup d'utilisateurs et que la configuration de leur navigateur n'est pas une option. Cependant, vous pouvez tester si le presse-papiers est disponible et fournir un lien pour modifier les paramètres, si les utilisateurs ont des connaissances techniques. L'éditeur JavaScript TinyMCE suit cette approche.

5voto

Andomar Points 115404

La fonction copyIntoClipboard() fonctionne pour Flash 9, mais il semble qu'elle ne fonctionne plus depuis la sortie de Flash player 10. Voici une solution qui fonctionne avec le nouveau lecteur Flash :

http://bowser.macminicolo.net/~jhuckaby/zeroclipboard/

C'est une solution complexe, mais elle fonctionne.

6 votes

Il n'est pas cassé. Il a été supprimé de la dernière API pour des raisons de sécurité.

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