9
votes

Obtenir des données de presse-papiers

J'essaie d'écrire une fonction JavaScript pour modifier le contenu du presse-papiers avant de coller. En ce moment, j'ai eu l'événement lié «Coller» pour fonctionner via JQuery. XXX

Mais ce n'est pas important. Maintenant, je voudrais obtenir des données de presse-papiers, mais je ne peux pas savoir comment. Je serais heureux pour chaque allusion.


0 commentaires

4 Réponses :


5
votes

C'est une robuste. Si je vous souviens bien, c'est-à-dire que c'est à dire à l'accès au presse-papiers, mais par défaut Firefox n'est pas due aux problèmes de sécurité. Je devais faire cela pour un projet que je travaillais et a été obligé d'utiliser un petit fichier SWF qui a fait la copie.

http://www.jeffothy.com/weblog/clipboard-copy/


1 commentaires

Pour autant que je sache, cette solution permet de copier dans le presse-papiers, mais de ne pas avoir du presse-papiers. Par conséquent, ce n'est pas du tout une solution à la question proposée - je ne sais pas pourquoi il l'a été marqué (à moins que l'OP n'ait été confondu). Si je me trompe, veuillez expliquer!



1
votes

Voici comment l'obtenir de IE ou de Chrome. Tout d'abord, il empêche la pâte réelle de se produire, alors il fait une vérification des fonctionnalités, puis définit le texte variable dans le texte du presse-papiers. Avec cela, vous pouvez manipuler le texte, puis la définir comme valeur pour l'entrée / élément de votre collage à ou tout ce que vous souhaitez en faire avec cela.

//get clipboard text
event.preventDefault();
var text = null;
if (window.clipboardData) 
  text = window.clipboardData.getData("Text");
else if (event.originalEvent && event.originalEvent.clipboardData)
  text = event.originalEvent.clipboardData.getData("Text");

//manipulate the text
text = '..do stuff with it..';
//set the text
$(this).val(text);


0 commentaires

4
votes

Le clipbuthowata ​​code> peut contenir des données dans divers formats potentiels. Son éventuel programme ajoutera des données de presse-papiers dans plusieurs formats. Pour rechercher les formats, regardez via clipboarddata.types code>.

Souvent, les données du presse-papiers contiennent du texte brut et le premier type répertorié dans Types code> sera le type MIME "Texte / Plain". Si vous copiez le texte d'un navigateur Tho, vous verrez deux types dans la liste: "Texte / plaine" et "Texte / HTML". En fonction de la chaîne que vous passez dans getdata ​​code>, vous pouvez saisir le texte brut ou le code HTML. Il semble que "Text" soit sténographie pour "Text / plain" et "URL" est court pour "Text / Uri-List". P>

element.addEventListener('paste', function(event) {
  var cb = event.clipboardData
  if(cb.types.indexOf("text/html") != -1) {        // contains html
    var pastedContent = cb.getData("text/html")
  } else if(cb.types.indexOf("text/html") != -1) { // contains text
    var pastedContent = cb.getData("text/html")
  } else {
    var pastedContent = cb.getData(cb.types[0])    // get whatever it has
  }

  // do something with pastedContent
})


1 commentaires

Ajouté un tas d'explication



0
votes
$('#paste-button').click(function () {
    navigator.clipboard.readText()
        .then((text) => {
            $('#wallet-address').val(text);
        })
        .catch((err) => $('#wallet-address').val(''));
});

1 commentaires

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire quant à la manière dont illave et pourquoi il résout le problème améliorerait la valeur à long terme de la réponse. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide: Stackoverflow.com/help/how-to-answer < / a>. Bonne chance 🙂