2010-01-15 5 views
1

J'avais implémenté la fonctionnalité de copie dans le presse-papiers. Il fonctionne très bien avec toutes les versions sur IE mais ne fonctionne pas dans FireFox. S'il vous plaît, aidez-moi à résoudre ce problème. Détail sontCopier dans le presse-papiers ne fonctionnait pas sur FireFox

<script src="../../Scripts/JQPlugins/jquery.clipboard.js" type="text/javascript"></script> 

<script src="../../Scripts/JQPlugins/jquery.clipboard.pack.js" type="text/javascript"></script> 
<script type="text/javascript"> 
     $.clipboardReady(function() { 
      $("input#buttonid").bind('click', function() { 
       var text = $("#url").attr("href") + "\n" + $("#pwd").html(); 
       $.clipboard(text); 
       alert("hi"); 
       return false; 
      }); 
     }, { swfpath: "../../Scripts/JQPlugins/jquery.clipboard.swf", debug: true }); 

    </script> 

Et ma structure de fichier de code est

Project > Scripts > JQPlugins > 
1. jquery.clipboard.js 
2. jquery.clipboard.pack.js 
3. jquery.clipboard.swf 
+0

Je suis peut-être en train de me méprendre, mais la principale raison pour laquelle cette fonctionnalité n'est pas implémentée est largement liée aux problèmes de sécurité. – jldupont

+0

pouvez-vous m'expliquer s'il vous plaît – Pankaj

+0

Pankaj, les versions de Flash antérieures à 10 permettaient à Flash d'interagir avec le presse-papier sans l'approbation de l'utilisateur, ce qui était (au moins) gênant et (tout au plus) un problème de sécurité. Flash 10 ne le permet plus; Voir ma réponse ci-dessous, mais je soupçonne que c'est ce que vous rencontrez. – delfuego

Répondre

9

La méthode que vous utilisez pour copier du texte dans le presse-papiers est le plugin jQuery presse-papiers; il utilise les capacités natives d'IE pour copier du texte dans le presse-papiers, mais utilise un plugin Flash sur des plates-formes non IE. Mon pari est que vous avez Flash 10 sur votre machine, ou au moins sur la machine sur laquelle vous testez Firefox - Flash 10 ne permet plus la manipulation du presse-papiers sans demande explicite de l'utilisateur, ce qui est probablement la raison pour laquelle Firefox. (Ceci est même mentionné in the release notes pour le plugin.)

Cela étant dit, les gens ont déjà trouvé une solution de contournement pour les restrictions de sécurité; la solution de contournement consiste à placer un film Flash invisible sur l'élément DOM de votre choix, ce qui signifie que lorsque l'utilisateur clique ou appelle l'élément pour envoyer des données, le film Flash enregistre l'action explicite et autorise la manipulation du Presse-papiers. Zero Clipboard est une telle bibliothèque fournissant la solution de contournement, mais il y a d'autres là-bas si vous les recherchez.

+0

Merci @@ delfuego .. vous êtes mon seul espoir de signal .. S'il vous plaît dites-moi ce que je devrais faire pour résoudre ce problème? Puis-je changer le code et passer à un autre type de mise en œuvre ou essayer d'autres choses? – Pankaj

+0

Pankaj, je vous ai montré une option que vous avez - passer à la bibliothèque Zero Clipboard lié. Il y a une page d'instructions bien mise en place sur leur site expliquant comment vous l'intégrez dans votre projet. – delfuego

+0

Fascinant que cela a eu une downvote, au fait ... ce qui donne? Pas que je m'en soucie, je suis juste déconcerté ... oh, je vois, il semble y avoir quelqu'un (facile à deviner) qui va systématiquement à travers et downvoting mes contributions sur le site. Bien bien. – delfuego

Questions connexes