IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Quelle commande js permet le "copier"


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Quelle commande js permet le "copier"
    Bonjour à tous,

    On m'a envoyé sur ce forum, car il semblerait qu'il y ait pas mal de pros Et c'est ce dont j'ai besoin

    Alors en fait, j'ai trouvé un script sur internet, que j'ai personnalisé, mais simplement avec les fonctions proposées.

    C'est une personnalisation du clic-droit.

    Bref voici ce que j'obtient dans ma personnalisation :

    ejs_context_elemt[0] = "Page précédente|history.go(-1)";
    ejs_context_elemt[1] = "Page suivante|history.go(1)";
    ejs_context_elemt[2] = "";
    ejs_context_elemt[3] = 'Page d\'accueil|document.location.href=\'http://www.monsite.info\'';
    ejs_context_elemt[4] = '';
    ejs_context_elemt[5] = 'Recherche Google|document.location.href=\'http://www.google.fr\'';
    ejs_context_elemt[6] = 'Recherche Yahoo|document.location.href=\'http://www.yahoo.fr\'';
    ejs_context_elemt[7] = 'Téléchargements légaux.|document.location.href=\'http://www.telecharger.com\'';
    ejs_context_elemt[8] = '';
    ejs_context_elemt[9] = 'Me contacter|document.location.href=\'mailto:monadresse@gmail.com\'';

    Alors voilà, quelle commande me permettrait d'ajouter la fonction copier ainsi que la fonction coller, et aussi, comment puis-je ouvrir mes pages (yahoo,google,telecharger.com) avec un _blank, j'arrive pas à le placer

    Merci d'avance et à bientôt

    Piafou

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je suis étonner de ne pas avoir de réponses

    Me serais-je mal exprimé :


  3. #3
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    c est peut etre que personne sait

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    zut, pourtant y'a des problèmes plus durs que le miens semble-t'il lol

    zut zut, bon bah j'attends un peu :o

  5. #5
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut


    http://www.htmlgoodies.com/beyond/javascript/article.php/3458851
    http://my.opera.com/community/forums/topic.dml?id=101869
    http://www.ozoneasylum.com/8851
    http://www.faqts.com/knowledge_base/view.phtml/aid/31475
    http://dotnet.org.za/eduard/archive/2004/07/29/3064.aspx
    ....

    Recherche effectuer: javascript clipboard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     c = window.clipboardData.getData("Text");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <td><img src=“copy.gif“ onclick=“ClipBoard(this.parentElement)“> TEXT TO COPY</td>
     
    <textarea id=“holdtext“ style=“display:none“></textarea>
    <script>
     
    function ClipBoard(tdObj)
     
    {
     
    var holdtext = document.all['holdtext'];
     
    holdtext.innerText = tdObj.innerText;
     
    Copied = holdtext.createTextRange();
     
    Copied.execCommand("Copy");
     
    }
     
    </script>

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Salut shwin, merci pour cette réponse.

    à vrai dire je commence le java script, donc je ne savais pas quoi chercher, et pourtant j'ai fait quantité de recherches

    Le problème, c'est que d'après ce que tu me donnes, il semblerait que ce soit pour avoir une sorte de fenêtre, et lorsque le texte est sélectionné, au sein même de la fenêtre, on clique sur le bouton pour copier, et hop ça copie. Or moi j'aimerais intégrer la fonction copier à mon clic-droit. Comme je débute en java-script, je ne comprends pas tout voire même très peu

    J'ai ajouté cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ejs_context_elemt[4] = 'copier|window.clipboardData.getData("Text")';
    Mais ça fonctionne pas, j'ai donc évidemment fait une bourde, mais laquelle : Désolé d'être aussi peu doué, mais faut bien commencer un jour

    Merci d'avance

    Piafou

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    un ptit up

  8. #8
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par Piafou

    J'ai ajouté cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ejs_context_elemt[4] = 'copier|window.clipboardData.getData("Text")';
    Mais ça fonctionne pas, j'ai donc évidemment fait une bourde, mais laquelle : Désolé d'être aussi peu doué, mais faut bien commencer un jour

    Merci d'avance

    Piafou
    ben dejà, pour tester si ca marche utilise directement ton bout de code dans du html tout simple, et non pas dans un truc qu'on ne connais pas (et dont tu ne nous donne même pas le code)
    comment tu veux qu'on t'aide, personne n'est assez genial pour deviner ce que c'est que ton "ejs_context_elemt[]".
    j'imagine en voyant les exemples que la premiere partie de la chaine (avant "|") sert de libellé et que l'autre partie sera dasn un tag <A HREF="##########"> (à la place de ######)
    bon, maintenant est-ce que dans l'exemple qui t'a été donné tu a vu que la fonction était appellé comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="window.clipboardData.getData("Text")">copier</a>
    non hein ?...
    mais peut être comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="" onClick ="javascript:window.clipboardData.getData('Text');">copier</a>
    j'ai même pas pris soin de tester hein.
    il t'appartiendra aussi d'effectuer le test sous IE et FFx.


    Ps : et arrete les "UP" ca ne sert a rien

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,

    toutes mes excuses pour le up, et pour ne pas avoir donner le code entier. Etant donné que c'est issu d'un site je ne sais pas si j'ai le droit.

    Merci pour tes conseils hpfx, souhaites-tu tout de même le code complet?

    Bien cordialement

    Piafou

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bon, je me lance, voici mon code entier :

    Voici la première partie à placer dans le head, d'ailleurs si vous avez une idée pour le placer dans une page *.js ça serait gentil, parce que j'y arrive pas, pourtant j'ai essayé avec des techniques sur le net, et ça fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    <!-- DEBUT DU SCRIPT -->
    <style type="text/css">
    .ejs_context_menuitems{padding-left:12px; padding-right:7px; }
    </style>
    <script language="JavaScript1.2">
    /*
    SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
    */
    ejs_context_elemt = new Array;
    ejs_context_elemt[0] = "Page précédente|history.go(-1)";
    ejs_context_elemt[1] = "Page suivante|history.go(1)";
    ejs_context_elemt[2] = "";
    ejs_context_elemt[3] = 'Page d\'accueil|document.location.href=\'http://www.monsite.com\'';
    ejs_context_elemt[4] = 'là ou je veux ma fonction copier'
    ejs_context_elemt[5] = '';
    ejs_context_elemt[6] = 'Recherche Google|document.location.href=\'http://www.google.fr\'';
    ejs_context_elemt[7] = 'Recherche Yahoo|document.location.href=\'http://www.yahoo.fr\'';
    ejs_context_elemt[8] = 'Téléchargements légaux.|document.location.href=\'http://www.telecharger.com\'';
    ejs_context_elemt[9] = '';
    ejs_context_elemt[10] = 'Me contacter|document.location.href=\'mailto:monmail@mail.com\'';
    function ejs_context_position(e)
    	{
    	ejs_context_x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
    	ejs_context_y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
    	}
     
    function ejs_context_open()
    	{
    	document.getElementById("ejs_context_box").style.top = ejs_context_y;
    	document.getElementById("ejs_context_box").style.left = ejs_context_x;
    	document.getElementById("ejs_context_ombre").style.top = ejs_context_y+2;
    	document.getElementById("ejs_context_ombre").style.left = ejs_context_x+2;
    	document.getElementById("ejs_context_box").style.visibility = "visible";
    	document.getElementById("ejs_context_ombre").style.visibility = "visible";
    	return(false);
    	}
     
    function ejs_context_close()
    	{
    	if (document.getElementById)
    		{
    		document.getElementById("ejs_context_box").style.top = 0;
    		document.getElementById("ejs_context_box").style.left = 0;
    		document.getElementById("ejs_context_ombre").style.top = 0;
    		document.getElementById("ejs_context_ombre").style.left = 0;
    		document.getElementById("ejs_context_box").style.visibility = "hidden";
    		document.getElementById("ejs_context_ombre").style.visibility = "hidden";
    		}
    	}
     
    function ejs_context_hl(mode, element)
    	{
    	if(mode == 1)
    		{
    		element.style.background = '#316AC5';
    		element.style.color = '#ffffff';
    		}
    	else
    		{
    		element.style.background ='#ffffff';
    		element.style.color = '#000000';
    		}
    	}
     
    if(navigator.appName.substring(0,3) == "Net")
    	document.captureEvents(Event.MOUSEMOVE);
    </script>
    <!-- FIN DU SCRIPT -->
    Voici la seconde partie à placer dans le body :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <script language="JavaScript">
    /*
    SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
    */
    ejs_context_ombre_txt = '';
    for(a=0;a<ejs_context_elemt.length;a++)
    	{
    	if(ejs_context_elemt[a].indexOf("|") > 0)
    		{
    		splited = new Array;
    		splited = ejs_context_elemt[a].split("|");
    		document.write('<div class="ejs_context_menuitems" onClick="'+splited[1]+'" onMouseOver="ejs_context_hl(1, this)" onMouseOut="ejs_context_hl(0, this)">'+splited[0]+'</div>');
    		ejs_context_ombre_txt += '<div class="ejs_context_menuitems">'+splited[0]+'</div>';
    		}
    	else
    		{
    		document.write('<div class="ejs_context_menuitems" onClick="'+splited[1]+'" onMouseOver="ejs_context_hl(1, this)" onMouseOut="ejs_context_hl(0, this)"><hr width="195" size="1" color="9D9DA1" /></div>');
    		ejs_context_ombre_txt += '<div class="ejs_context_menuitems"><hr width="195" size="1" color="9D9DA1" /></div>';
    		}
    	}
    document.write('</div><div id=ejs_context_ombre style="z-index:400;position:absolute;width:200px; border:1px solid #9D9DA1; background-color:#9D9DA1; font-family:Microsoft sans serif; font-size:12px; color:#9D9DA1 ;cursor:default; visibility:hidden;padding:3">'+ejs_context_ombre_txt+'</div>');
     
    // EVENEMENTS
    document.onmousemove = ejs_context_position;
    document.oncontextmenu = ejs_context_open;
    document.onclick = ejs_context_close;
    </script>
    Merci d'avance à ceux qui auront pris le temps de me lire.

    Pour voir le script actuel en fonctionnement : www.piaf-stuces.info

    Cordialement

    Piafou

  11. #11
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    bonjour,

    je me rends compte que la fonction copy clipboard ne fonctionne pas sous firefox. Y a t-il un moyen de contourner le problème ?


    merci

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function copy_clip(text) { <!--[if IE]> window.clipboardData.setData("Text", text); return; <![endif]--> //do Mozilla or Cross-Browser clipboard copy here. }

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo