copier dans le presse-papiers - ne fonctionne pas dans FF, Chrome
Je suis en utilisant mentionnées ci-dessous javascript pour copier le texte dans le presse-papiers. Son travail dans IE, mais ne fonctionne pas sous Firefox et Chrome.
Merci de me conseiller,Ce qui est mal?
function setDataToclipboard()
{
var str=document.getElementById("populatedString").value;
if (window.clipboardData && clipboardData.setData) {
clipboardData.setData("Text", str);
alert("Copied!");
}
}
source d'informationauteur Naju | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
w3c presse-papiers de l'api est mis en œuvre par tous les navigateur http://caniuse.com/#feat=clipboard
Le presse-papiers de manipulation n'est pas cross-browser. Pour la croix-navigateur solution vous avez besoin de flash.
Regardez cette bibliothèque https://github.com/jonrohan/ZeroClipboard
Vous pouvez utiliser ZeroClipboard comme ceci:
Lorsque vous cliquez sur le bouton, le texte
Copy me!
sera mis dans le presse-papiers.Pour de plus amples instructions de vérification de la bibliothèque de l'API https://github.com/jonrohan/ZeroClipboard/blob/master/docs/instructions.md
Je pense que la fenêtre.clipboardData est IE seul. Accéder au presse-papiers est un problème de sécurité, et ne peut donc pas être fait facilement en FF ou Chrome.
Veuillez voir ce fil: Comment puis-je copier dans le presse-papiers en JavaScript?
Voir la documentation de
clipboardData
en particulier la section qui se lit comme suit:Vous sont de l'utilisation exclusive de Microsoft gubbins, donc il ne devrait pas être prévu pour fonctionner sur d'autres navigateurs.
Voir cette question de croix-navigateur techniques pour accéder au presse-papiers.
Il est un avant-projet de norme pour accéder au presse-papiers mais je ne suis pas au courant de toutes les implémentations de il dans la nature (et canIuse ne sais pas du tout, soit).
J'ai eu ce même problème avec google Chrome et les autres navigateurs récemment. Toutefois, récemment, j'ai trouvé ce code fonctionne dans une contenteditable champ dans certains navigateurs:
NOTE: e dans ce cas est la copie et/ou la coupe de l'événement. Cet événement se déclenche et est récupérable dans un
onCopy()
ouonCut()
action.Ce code est confirmée à travailler dans les dernières versions des navigateurs suivants:
Internet Explorer semble fonctionner avec
window.clipboardData.setData
au lieu de cela, mais gardez à l'esprit que l'IE presse-papiers n'acceptera'text'
et'url'
de données.Tandis que les navigateurs suivants peuvent accéder au presse-papiers du système de l'objet, de ces sont incapables de mettre des données dans le presse-papiers à l'aide de
clipboard.setData
:UntrustedDragDrop
objet dans le presse-papiers à la place...