Copier / insérer du texte dans le presse-papiers avec FireFox, Safari et Chrome
Dans Internet Explorer, je peux utiliser les clipboardData objet pour accéder au presse-papiers. Comment puis-je faire FireFox, Safari et/ou Chrome?
- Si vous voulez faire cela en chrome de la console, vous pouvez utiliser
copy
,developer.chrome.com/devtools/docs/commandline-api - double possible de Comment faire pour copier dans le presse-papiers en JavaScript?
- la question que vous mentionnez a été entré plus tard, de sorte que la double
- Il n'est pas toujours à propos de ce qui est affiché en premier. L'autre était plus populaire et a obtenu plus de réponses. Si vous voulez tho, drapeau-il si un modérateur peut fusionner les questions.
- Réponse bien documentée dans stackoverflow.com/a/30810322/712334
- Définitive double de Comment faire pour copier dans le presse-papiers en JavaScript?
Vous devez vous connecter pour publier un commentaire.
Il y a maintenant un moyen facile de le faire dans la plupart des navigateurs modernes à l'aide de
Cela va copier le texte sélectionné. Vous pouvez sélectionner une zone de texte ou champ de saisie à l'aide de
De manière invisible, copier du texte, vous pouvez rapidement générer un textArea, de modifier le texte dans la zone, sélectionnez-le, copiez-le, puis supprimer le textArea. Dans la plupart des cas, ce textArea l'habitude même de flash sur l'écran.
Pour des raisons de sécurité, les navigateurs ne vous permettent copie si un utilisateur effectue une action (ie. en cliquant sur un bouton). Une façon de le faire serait d'ajouter un événement onClick d'un bouton html qui appelle une méthode de copie de texte.
Un exemple complet ressemblerait
Pour des raisons de sécurité, Firefox ne vous permet pas de placer le texte dans le presse-papiers. Cependant, il y a un travail autour de disponibles à l'aide de Flash.
Le seul inconvénient est que cela nécessite Flash pour être activé.
source est actuellement mort: http://bravo9.com/journal/copying-text-into-the-clipboard-with-javascript-in-firefox-safari-ie-opera-292559a2-cc6c-4ebf-9724-d23e8bc5ad8a/ (et c'est Cache de Google)
En ligne des feuilles de calcul crochet Ctrl+C, Ctrl+V et le transfert de l'accent caché contrôle TextArea et mettez son contenu souhaité nouveau contenu du presse-papiers pour copier ou lire son contenu après l'événement avait fini par coller.
voir aussi Est-il possible de lire le presse-papiers dans Firefox, Safari et Chrome à l'aide de Javascript?
C'est l'Été 2015, et à tant d'agitation environnante Flash je pensais ajouter une nouvelle réponse à cette question qui évite complètement son utilisation.
clipboard.js est une belle utilitaire qui permet de copier du texte ou des données html dans le presse-papiers. Il est très facile à utiliser, il suffit d'inclure l' .js et d'utiliser quelque chose comme ceci:
clipboard.js est également sur GitHub
En 2017, vous pouvez le faire (parce que ce fil est presque 9 ans!)
Et maintenant de copier
copyStringToClipboard('Hello World')
Si vous avez remarqué la
setData
ligne, et je me demandais si vous pouvez mettre différents types de données, la réponse est oui..select()
sur une zone de saisie avant l'appel de cette.Firefox ne permet pas de stocker les données dans le presse-papiers, mais en raison des implications en matière de sécurité, il est désactivé par défaut. Voir comment l'activer dans "L'octroi de l'accès JavaScript dans le presse-papiers" dans le navigateur Mozilla Firefox de la base de connaissances.
La solution proposée par amdfan est le meilleur si vous avez un grand nombre d'utilisateurs et la configuration de leur navigateur n'est pas une option. Si vous pouviez tester si le presse-papiers est disponible et de fournir un lien pour changer les paramètres, si les utilisateurs sont technophiles. L'éditeur de JavaScript De TinyMCE suit cette approche.
La copyIntoClipboard() fonctionne pour Flash 9, mais il semble être rompu par la version de Flash player 10. Voici une solution qui fonctionne avec la nouvelle version de flash player:
http://bowser.macminicolo.net/~jhuckaby/zeroclipboard/
C'est une solution complexe, mais il fonctionne.
Je dois dire qu'aucune de ces solutions vraiment travail. J'ai essayé de le presse-papiers solution de la accepté de répondre, et il ne fonctionne pas avec Flash Player 10. J'ai aussi essayé de ZeroClipboard, et j'ai été très heureux avec elle pendant un certain temps.
Je suis en train de l'utiliser sur mon propre site (http://www.blogtrog.com), mais j'ai remarqué de bizarre bugs avec elle. La façon ZeroClipboard œuvres, c'est qu'il met invisible objet flash sur le dessus d'un élément sur votre page. J'ai trouvé que si mon élément se déplace (comme lorsque l'utilisateur redimensionne la fenêtre et j'ai des choses aligné à droite), le ZeroClipboard objet flash devient hors de contrôle et n'est plus couvrant l'objet. Je soupçonne que c'est probablement encore assis là où il était à l'origine. Ils ont un code qui est censé arrêter, ou de recoller à l'élément, mais il ne semble pas bien fonctionner.
Donc... dans la prochaine version de BlogTrog, je crois que je vais suivre avec tous les autres code surligneurs j'ai vu dans la nature et retirer mon Copier dans le presse bouton. 🙁
(J'ai remarqué que dp.syntaxhiglighter de la Copier dans le presse-papiers est cassé maintenant aussi.)
trop vieille question, mais je n'ai pas vu cette réponse nulle part...
Vérifier ce lien:
http://kb.mozillazine.org/Granting_JavaScript_access_to_the_clipboard
comme tout le monde le dit, pour des raisons de sécurité est désactivée par défaut. le lien ci-dessus montre les instructions de la façon de l'activer (en éditant le about:config de firefox ou de la user.js).
Heureusement, il existe un plugin appelé "AllowClipboardHelper" ce qui rend les choses plus facile, avec seulement quelques clics. cependant, vous avez encore besoin de demander à vos visiteurs du site web sur la façon d'activer l'accès à firefox.
J'ai utilisé de Github Trombine le trombone pour mes besoins, simples à base de Flash, bouton. Fonctionne très bien, si l'on n'a pas besoin de style et est heureux avec insertion de ce que pour coller sur le côté serveur à l'avance.
Utilisation moderne du document.execCommand("la copie")
et jQuery. Voir ce stackoverflow répondre
Comment Appeler:
JS:
HTML:
Une légère amélioration de la mémoire Flash, la solution est de détecter les pour flash 10 à l'aide de swfobject:
http://code.google.com/p/swfobject/
et puis si il montre que flash 10, essayez de charger une onde de Choc de l'objet à l'aide de javascript. Onde de choc peut lire/écrire dans le presse-papiers(dans toutes les versions) et à l'aide de la copyToClipboard() la commande dans le jargon.
http://www.rodsdot.com/ee/cross_browser_clipboard_copy_with_pop_over_message.asp fonctionne avec Flash 10 et tous les Flash les navigateurs compatibles.
Aussi ZeroClipboard a été mis à jour pour éviter le bug mentionné sur la page de défilement origine du film Flash pour ne plus être dans le bon endroit.
Depuis que la méthode "Exige" l'utilisateur à cliquer sur un bouton pour copier c'est une commodité pour les utilisateurs, et rien d'infâme est en cours.
Si vous le support de flash, vous pouvez utiliser https://everyplay.com/assets/clipboard.swf et utiliser les flashvars texte pour définir le texte
https://everyplay.com/assets/clipboard.swf?text=It%20Works
C'est celui que j'utilise et que vous pouvez définir comme un supplément si ne prend pas en charge ces options que vous pouvez utiliser :
Pour Internet Explorer: fenêtre.clipboardData.setData(Format, Texte) et de la fenêtre.clipboardData.getData(Format)
Vous pouvez utiliser le Format de Texte et l'Url de getData et setData.
Et supprimer des données:
Vous pouvez utiliser le Format de Fichier, HTML, Image, Texte et l'URL. PS: Vous Devez Utiliser la fenêtre.clipboardData.clearData(Format);
Et pour d'autres ce n'est pas l'appui de la fenêtre.clipboardData et flash swf fichiers, vous pouvez également utiliser ctrl + c sur votre clavier pour windows et pour mac sa commande + c
De addon code:
Au cas où quelqu'un d'autre était à la recherche pour savoir comment faire à partir de chrome code, vous pouvez utiliser le nsIClipboardHelper interface comme décrit ici: https://developer.mozilla.org/en-US/docs/Using_the_Clipboard
Utilisation
document.execCommand('copy')
. Pris en charge dans les versions les plus récentes deChrome
,Firefox
,Edge
, etSafari
.JS:
HTML:
essayez de créer une mémoire globale de la variable contenant la sélection, puis de l'autre fonction peut accéder à la variable et faire un coller par exemple..
Presse-papiers de l'API est conçue pour remplacer les
document.execCommand
. Safari est encore de travail sur le soutien de sorte que vous devrait fournir une solution de secours jusqu'à ce spec s'installe et Safari finitions de mise en œuvre.JS:
HTML:
Pour des raisons de sécurité, presse-papiers
Permissions
peuvent être nécessaires pour lire et écrire à partir du presse-papiers. Si l'extrait de code ne fonctionne pas sur ALORS, donnez-lui un coup de feu surlocalhost
ou un domaine de confiance.