Si vous souhaitez copier du contenu dans le presse-papiers via js, ce n'est pas difficile au début. Cependant, si vous considérez le problème de compatibilité du navigateur, cela devient un peu gênant. Utiliser jquery-zclip pour copier est un bon choix. compatibilité du navigateur. Je n’entrerai pas dans les détails du principe, mais parlons de la manière de le mettre en œuvre.
Par exemple, mon code html est le suivant :
<span id="id_1">Contenu à copier 1</span>< ;/code> <br><code rel="2"><span id="id_2">Contenu à copier 2</span>
< span id="id_3">Contenu à copier 3</span>
Un total de deux js des fichiers sont nécessaires, sans parler de jquery , et puis il y a jquery-zclip.js et ZeroClipboard.swf. Ces deux fichiers peuvent être téléchargés sur le site officiel à l'adresse suivante : http://www.steamdev.com/zclip/.
Générer le bouton de copie js est le suivant
Cela permet la copie entre navigateurs. Ce n'est pas une chose difficile à faire lorsque je l'ai testé. Mais lorsque je l'ai mis dans le projet, quelque chose s'est mal passé. Il n'y a pas de flash à l'endroit où le bouton de copie est généré, seulement du texte. Plus tard, j'ai découvert que le flash était réellement généré, mais pas à l'endroit où se trouvait le texte. faire avec la structure iframe utilisée dans le backend de mon projet. Je suppose que c'est un bug de ce plug-in. Après avoir vérifié de nombreuses informations, j'ai découvert que les gens avaient dit que le code devait être modifié, puis je l'ai modifié. et cela a fonctionné
Le code qui doit être modifié est le suivant
getDOMObjectPosition : function (obj, stopObj) {
// obtenir les coordonnées absolues de l'élément dom
var info = {
left : 0,
top : 0,
largeur : obj.width ? obj.width : obj.offsetWidth,
hauteur : obj.height ? obj.offsetHeight
}
if (obj && (obj != stopObj)) {
//info.left = obj.offsetLeft; //Avant modification
//info.top = obj.offsetTop; .position(); //Après modification
info.left = jpos.left; //Après modification
info.top = jpos.top; //Après modification Après
}
retourner l'info;
}
En fait, cela est lié au principe de ce plug-in Il recouvre le bouton d'un flash transparent. Si les deux ne se chevauchent pas, le. le problème ci-dessus se posera.