[JavaScript] Fonction copier avec Firefox
Résolu
Pico51
Messages postés
716
Date d'inscription
Statut
Membre
Dernière intervention
-
Pico51 Messages postés 716 Date d'inscription Statut Membre Dernière intervention -
Pico51 Messages postés 716 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Cela fait un moment que je cherche comment copier un texte dans le presse papier avec Firefox. La fonction window.clipboardData.setData ne fonctionnant qu'avec IE, j'ai donc cherché et j'ai trouvé plusieurs solutions alternatives :
- Le plugin JQuery.copy qui ne marche pas !
- L'utilisation d'un fichier Flash qui ne marche pas ! (j'en ai même utilisé plusieurs)
J'aimerais savoir si quelqu'un a déjà réussi et s'il pouvait poster son code (JS + HTML, car on ne trouve souvent que le JS).
Voici, si vous le désirez, le dernier code que j'ai testé (il marche, bien sûr, sur IE):
Je vous remercie de votre aide.
Cela fait un moment que je cherche comment copier un texte dans le presse papier avec Firefox. La fonction window.clipboardData.setData ne fonctionnant qu'avec IE, j'ai donc cherché et j'ai trouvé plusieurs solutions alternatives :
- Le plugin JQuery.copy qui ne marche pas !
- L'utilisation d'un fichier Flash qui ne marche pas ! (j'en ai même utilisé plusieurs)
J'aimerais savoir si quelqu'un a déjà réussi et s'il pouvait poster son code (JS + HTML, car on ne trouve souvent que le JS).
Voici, si vous le désirez, le dernier code que j'ai testé (il marche, bien sûr, sur IE):
<html> <body> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> function copy() { copy_to_clipboard($('#nom').val()); } function copy_to_clipboard(text) { if(window.clipboardData) { window.clipboardData.setData('text',text); } else { var clipboarddiv=document.getElementById('divclipboardswf'); if(clipboarddiv==null) { clipboarddiv=document.createElement('div'); clipboarddiv.setAttribute("name", "divclipboardswf"); clipboarddiv.setAttribute("id", "divclipboardswf"); document.body.appendChild(clipboarddiv); } clipboarddiv.innerHTML='<object width="0" height="0"><PARAM NAME=FlashVars VALUE="txtToCopy='+ text +'"><param name="movie" value="copyButton.swf"><embed src="copyButton.swf" flashvars="txtToCopy='+ text +'" width="0" height="0"></embed>'; } alert('The text "'+ text +'" is copied to your clipboard...'); return false; } --> </script> <input type="text" id="nom" /> <input type="button" id="button" value="Copier" onClick="copy();"/> <input type="button" value="Test" onClick="test();" /> <div id="divclipboardswf"> </div> </body> </html>
Je vous remercie de votre aide.
A voir également:
- [JavaScript] Fonction copier avec Firefox
- Fonction si et - Guide
- Comment copier une vidéo youtube - Guide
- Telecharger firefox - Télécharger - Navigateurs
- Video downloadhelper firefox - Télécharger - Outils pour navigateurs
- Super copier - Télécharger - Gestion de fichiers
5 réponses
Le code HTML est donc :
Dans mon cas, j'utilise un tableau (pour ceux qui ne l'aurait pas remarqué :) ) mais ce n'est pas obligatoire.
Vous pouvez télécharger le fichier swf ici : http:// www . media fire . com/?ogt1uoyyl1m (supprimer les espaces).
Merci pour ceux qui ont pris le temps de chercher.
En espérant que cela servent à d'autres (et en espérant que ce message pourra être enfin posté !!!)
<td id='identifiant>Texte à copier</td> <td id='autre_identifiant'></td>
Dans mon cas, j'utilise un tableau (pour ceux qui ne l'aurait pas remarqué :) ) mais ce n'est pas obligatoire.
Vous pouvez télécharger le fichier swf ici : http:// www . media fire . com/?ogt1uoyyl1m (supprimer les espaces).
Merci pour ceux qui ont pris le temps de chercher.
En espérant que cela servent à d'autres (et en espérant que ce message pourra être enfin posté !!!)
Parie 1 :
--
S'il vous plaît, exprimez-vous correctement, vous aurez plus de chances d'obtenir une réponse.
Pico ;)
// Cette fonction sert à copier dans IE function copy(text) { window.clipboardData.setData("Text", text); } // On vérifie le nom du navigateur if(navigator.appName=="Microsoft Internet Explorer") { var ie = true; } else { var ie = false; } var i = 'identifiant'; var j = 'autre_identifiant'; /* Dans le cas de IE, je met le contenu que je veux copier en paramètre de la fonction copy */ if(ie) document.getElementById(j).innerHTML = '<a href="#" onClick="copy(''+ document.getElementById(i).innerHTML +'')">Copy</a>'; /* Avec Firefox, j'utilise un fichier swf qui va me permettre de copier le contenu souhaité dans le presse papier*/ else document.getElementById(j).innerHTML = "<object width='60' height='20'><PARAM NAME=FlashVars VALUE='txtToCopy="+ document.getElementById(i).innerHTML +"'><param name='movie' value='copyButton.swf'><embed src='copyButton.swf' flashvars='txtToCopy="+ document.getElementById(i).innerHTML +"' width='60' height='20'></embed>";
--
S'il vous plaît, exprimez-vous correctement, vous aurez plus de chances d'obtenir une réponse.
Pico ;)
bonjour tu peux peut être te servir de ça !
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content/Rich-Text_Editing_in_Mozilla
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content/Rich-Text_Editing_in_Mozilla
Merci Atropa mais ce que tu me proposes permet de modifier le contenu de la page manuellement. Ce n'est pas ce que je voulais.
J'ai finalement trouvé une solution :
// Cette fonction sert à copier dans IE
function copy(text)
{
window.clipboardData.setData("Text", text);
}
// On vérifie le nom du navigateur
if(navigator.appName=="Microsoft Internet Explorer")
{
var ie = true;
}
else
{
var ie = false;
}
var i = 'identifiant';
var j = 'autre_identifiant';
/* Dans le cas de IE, je met le contenu que je veux copier en paramètre de la fonction copy */
if(ie)
document.getElementById(j).innerHTML = '<a href="#" onClick="copy(''+ document.getElementById(i).innerHTML +'')">Copy</a>';
/* Avec Firefox, j'utilise un fichier swf qui va me permettre de copier le contenu souhaité dans le presse papier*/
else
document.getElementById(j).innerHTML = "<object width='60' height='20'><PARAM NAME=FlashVars VALUE='txtToCopy="+ document.getElementById(i).innerHTML +"'><param name='movie' value='copyButton.swf'><embed src='copyButton.swf' flashvars='txtToCopy="+ document.getElementById(i).innerHTML +"' width='60' height='20'></embed>";
Le code HTML est donc :
<td id='identifiant>Texte à copier</td>
<td id='autre_identifiant'></td>
Dans mon cas, j'utilise un tableau (pour ceux qui ne l'aurait pas remarqué :) ) mais ce n'est pas obligatoire.
Vous pouvez télécharger le fichier swf ici : http://www.mediafire.com/?ogt1uoyyl1m
Merci pour ceux qui ont pris le temps de chercher.
En espérant que cela servent à d'autres (et en espérant que ce message pourra être enfin posté !!!)
--
S'il vous plaît, exprimez-vous correctement, vous aurez plus de chances d'obtenir une réponse.
Pico ;)
J'ai finalement trouvé une solution :
// Cette fonction sert à copier dans IE
function copy(text)
{
window.clipboardData.setData("Text", text);
}
// On vérifie le nom du navigateur
if(navigator.appName=="Microsoft Internet Explorer")
{
var ie = true;
}
else
{
var ie = false;
}
var i = 'identifiant';
var j = 'autre_identifiant';
/* Dans le cas de IE, je met le contenu que je veux copier en paramètre de la fonction copy */
if(ie)
document.getElementById(j).innerHTML = '<a href="#" onClick="copy(''+ document.getElementById(i).innerHTML +'')">Copy</a>';
/* Avec Firefox, j'utilise un fichier swf qui va me permettre de copier le contenu souhaité dans le presse papier*/
else
document.getElementById(j).innerHTML = "<object width='60' height='20'><PARAM NAME=FlashVars VALUE='txtToCopy="+ document.getElementById(i).innerHTML +"'><param name='movie' value='copyButton.swf'><embed src='copyButton.swf' flashvars='txtToCopy="+ document.getElementById(i).innerHTML +"' width='60' height='20'></embed>";
Le code HTML est donc :
<td id='identifiant>Texte à copier</td>
<td id='autre_identifiant'></td>
Dans mon cas, j'utilise un tableau (pour ceux qui ne l'aurait pas remarqué :) ) mais ce n'est pas obligatoire.
Vous pouvez télécharger le fichier swf ici : http://www.mediafire.com/?ogt1uoyyl1m
Merci pour ceux qui ont pris le temps de chercher.
En espérant que cela servent à d'autres (et en espérant que ce message pourra être enfin posté !!!)
--
S'il vous plaît, exprimez-vous correctement, vous aurez plus de chances d'obtenir une réponse.
Pico ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question