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 :

Copy sur firefox Opera


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Par défaut Copy sur firefox Opera
    Bonjour,

    J'ai développer une petite fonction me permettant de générer un mot de passe en ligne.
    Lorsque l'on double click sur le champs généré, ca le colle dans le bloc note.

    Sous IE, la fonction de copier coller fonctionne mais pas sous FF et OP.

    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
    	  <script>
     
    bBool=false
    var copiedtext=""
    var tempstore=""
     
    function initiatecopy() {
    bBool=true;
    }
     
    function copyit() {
    if (bBool) {
    tempstore=copiedtext
    document.execCommand("Copy")
    copiedtext=window.clipboardData.getData("Text");
     
    alert("Vous avez copié le mot de passe: "+copiedtext);
     
    bBool=false;
    }
    }
     
     
     
    </script>

    Voila comment je l'appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <form action="index.php?page=telechargement" method="post">
     
    Entrez le nombre de caractères souhaités pour le mot de passe<BR />
    <input type="text" name="nbre" value="<?= $NbCar ?>" maxlength="4" size="4"/>
     
    <input name="Nouveau" type="submit" value="Générer mot de passe"/>
     
    <BR /><BR />
    Votre mot de passe généré: <input name="password" type="text" value="<?= $pass ?>" maxlength="<?= $NbCar ?>"  onfocus="initiatecopy()" ondblclick="copyit()" size="<?= $longueur ?>"/><br /><br />
     
    </form>
    merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Tu as vu juste, ce n'est possible qu'avec IE (à ma connaissance)

  3. #3
    Membre éclairé Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Par défaut
    en fait, le probleme vient du fait que firefox et opera ne gere pas le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.clipboardData.getData("Text")
    Du coup je ne sais pas trop comment m'en sortir.

    J'ai vu ce post.

    http://www.developpez.net/forums/sho...d.php?t=259841

    Apparement la solution serai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script>
     
     
    function copy_clip(text) { <!--[if IE]> 
     
    window.clipboardData.setData("Text", text); 
    return; <!--[endif]--> //do Mozilla or Cross-Browser clipboard copy here. 
     
    }
     
    </script>
    Si j'ai bien compris on detecte le navigateur et on applique un return???
    Mais comment detecter les navigateurs en question?

    J'ai trouve ca mais ca me semble un peu lourd, la gestion de chaque navigateur.

    http://javascript.developpez.com/faq...vig#navigateur

    Voila l'erreur Firefox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur*: uncaught exception: [Exception... "Not enough arguments"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: http://www.expertaevolution.com/index.php?page=telechargement :: copyit :: line 449"  data: no]
    Une solution magique?

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Gruik
    Tu as vu juste, ce n'est possible qu'avez IE (à ma connaissance)
    je confirme : la gestion du presse papier est propre à IE. A ma connaissance, il n'existe pas d'équivalent pour les autres navigateurs.

    Curieusement, lorsque je veux récupérer un texte contenu dans la page, je le sélectionne puis un clic droit et "copier". Peut-être devrais-tu proposer cette solution "manuelle" aux utilisateurs.

  5. #5
    Membre éclairé Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Par défaut
    le but est justement de l'automatiser.

    Il doit bien exister une solution de contournement.

Discussions similaires

  1. Réponses: 18
    Dernier message: 14/05/2012, 11h04
  2. Réponses: 1
    Dernier message: 02/02/2012, 16h15
  3. Réponses: 7
    Dernier message: 29/03/2011, 09h42
  4. Double chargement intempestif de la carte sur Firefox, Opera
    Par Invité dans le forum IGN API Géoportail
    Réponses: 4
    Dernier message: 02/10/2010, 16h11
  5. Regexp ok sur IE pas sur Firefox
    Par zebuman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2005, 13h17

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