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 :

Autoriser un seul clic sur une page ?


Sujet :

JavaScript

  1. #21
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    J'ai fait un test ici : http://jsbin.com/bimujebuni/edit?html,output ou plus court : http://jsbin.com/xureracuve/edit?html,output

    On voit que seul le premier click passe : quand on clique la premi�re fois sur un bouton on lance la fonction clickB(event) ensuite on remonte jusqu'au body et la fonction clickfunc(event) est alors ex�cut�e. Or cette fonction annule l��v�nement onclick de tous les �l�ments de la page donc apr�s tous les click sont ignor�s...

    Je ne sais pas si �a marchera dans ton cas mais tu peux essayer comme ceci :

    1- rep�re la balise <body> et ajoute : onclick="clickfunc(event)" pour obtenir : <body onclick="clickfunc(event)">.

    2- rep�re la balise </body> et ajoute le script juste avant pour obtenir :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body onclick="clickfunc(event)">
    ...
    ...
    ...
        <script>
          function clickfunc(event) {
            var allObj = document.querySelectorAll("*");
            for (var i = 0; i < allObj.length; i++) 
              allObj[i].onclick = null ;
          }
        </script>
    </body>

  2. #22
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Bonjour Beginner. !

    MErci beaucoup je vais tester �� et je te tiens au courant !

    Si j'ai d�j� des scripts dans la page je peux rajouter le tiens avec les balises <script></script> ?

  3. #23
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Citation Envoy� par vlx360 Voir le message
    Si j'ai d�j� des scripts dans la page je peux rajouter le tiens avec les balises <script></script> ?
    Je pense que oui mais met le en dernier, juste avant la balise </body>...

  4. #24
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Hello,

    Malheureusement �� ne fonctionne pas, peut-�tre est-ce du aux balises script ?

    si je clique j'ai une fen�tre qui dit : erreur de script � la ligne tant "l'objet ne g�re pas la propri�t� ou la m�thode query Selector All

  5. #25
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    H�las �a peut �tre � cause de plein de chose, difficile de savoir sans pouvoir examiner le code source...

    Il faudrait un exemple au moins, peut-�tre que tu pourrais en faire un similaire du point de vu de la structure mais qui ne contienne aucune donn�es personnelles/priv�es ?

  6. #26
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    si je clique j'ai une fen�tre qui dit : erreur de script � la ligne tant "l'objet ne g�re pas la propri�t� ou la m�thode query Selector All

    Voici le code :

    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
    <!DOCTYPE html>
    <html>
    <head>
    <title>Lancement-Macro</title>
    <script type="text/JavaScript">
    var myArray = ['Macro-001.mcr', 'Macro-002.mcr'];
    function lance(Numero_Macro) {
    var wScript = new ActiveXObject("Wscript.Shell");
    var myMacro = wScript.CurrentDirectory + "\\" + myArray[Numero_Macro];
    wScript.run(myMacro);
    return false;
    }
    <!-- Disable 
    function disableselect(e){ 
    return false 
    } 
     
    function reEnable(){ 
    return true 
    } 
     
    //if IE4+ 
    document.onselectstart=new Function ("return false") 
    document.oncontextmenu=new Function ("return false") 
    //if NS6 
    if (window.sidebar){ 
    document.onmousedown=disableselect 
    document.onclick=reEnable 
    } 
    //--> 
    </script>
    <meta charset="utf-8">
    <style type="text/css">
    body {
    	background-color: #000;
    	overflow: hidden;
    	background-image: url();
    	background-repeat: no-repeat;
    }
    img {
    border: none;
    }
    body,td,th {
    	color: #FFF;
    }
    </style>
    </head>
    <body onclick="clickfunc(event)">
    <p>
      <hta:application border="none" singleinstance="none" windowstate="maximize" scroll="no" caption="no" innerborder="no"></hta:application>
    </p>
    <tr>
      <td width="45">&nbsp;</td>
      <td width="237"><a href="" onClick="lance(0);return false;"><img src="eg.v.png" width="41" height="33" onMouseOver="this.src='es.v.png'" onMouseOut="this.src='eg.v.png'" /></a></td>
      <td width="125"><p><a href="" onClick="lance(1);return false;"><img src="er.v.png" width="41" height="33" onMouseOver="this.src='es.v.png'" onMouseOut="this.src='er.v.png'" /></a></p>
      <p>&nbsp;</p></td>
     
    <script>
          function clickfunc(event) {
            var allObj = document.querySelectorAll("*");
            for (var i = 0; i < allObj.length; i++) 
              allObj[i].onclick = null ;
          }
        </script>
    </body>
    </html>

  7. #27
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Ah oui peut-�tre que �a passe pas avec IE je vais regarder mais l� avec le code on comprend mieux et je vois qu'il y une fonction qui lance les macro, c'est dr�le car j'avais aussi appell� le code de NoSmoking comme cela...

    Du coup c'est cette fonction qu'il faudrait modifier pour rajouter le code de NoSmoking...

    Je reviens...

  8. #28
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Si tu le dis Beginner lol !

  9. #29
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Ok donc apparemment la fonction : document.querySelectorAll("*")ne passe pas sous IE inf�rieur � 8 ???

    Bon repassons au plan A, remplace la premi�re balise <script> (celle qui contient la fonction lance(Numero_Macro) par celle-ci :
    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
     
    <script type="text/JavaScript">
     
    var myArray = ['Macro-001.mcr', 'Macro-002.mcr'];
    var bmacroEncours = false;
     
    function lance(Numero_Macro) {
     
        if (bmacroEncours) return ;
        bmacroEncours = true ;
     
        var wScript = new ActiveXObject("Wscript.Shell");
        var myMacro = wScript.CurrentDirectory + "\\" + myArray[Numero_Macro];
        wScript.run(myMacro);
        return false;
    }
    <!-- Disable 
    function disableselect(e) {
        return false
    }
     
    function reEnable() {
        return true
    }
     
    //if IE4+ 
    document.onselectstart = new Function("return false")
    document.oncontextmenu = new Function("return false")
    //if NS6 
    if (window.sidebar) {
        document.onmousedown = disableselect
        document.onclick = reEnable
    }
    //-->
    </script>

  10. #30
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Ah je suppose qu'en fait tu n'as mis qu'un morceau du script car l� il n'y a que deux macro... Dans l'original j'ai cru comprendre qu'il y en avait plus c'est �a ?

    Donc en fait pour te rep�rer : il faut que tu ajoutes les lignes 5,9 et 10.

  11. #31
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Oui, l� j'ai mis juste le code complet avec deux macros.

    Lorsque je lis ton code il est vraiment diff�rent de l'ancien.

    Je dois rajouter les lignes que tu dis, ok, malgr� tout je dois en enlever aussi, donc l� c'est pas clair ce que tu me dis !

    Vois-tu ? de mon point de vue c'est pas clair du tout !

    Et si je dois juste ajouter les lignes en conservant l'ancien code, � partir de quelle ligne je dois ins�rer 5,9 et 10, comme je ne sais pas les int�rpr&ter je pourrais aussi bien les mettre � la fin ou au d�but en ce qui me concerne !

    EDIT : Au temps pour moi je vois plus clair....

  12. #32
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Apparemment �� � l'air de marcher, je v ais faire un test r�el en situation, je re !

  13. #33
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Il y a juste trois lignes de plus :

    Rep�re ce passage : function lance(Numero_Macro) {

    Juste avant rajoute cette ligne : var bmacroEncours = false;

    Juste apr�s ajoute ces deux lignes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (bmacroEncours) return ;   
    bmacroEncours = true ;
    Tu obtiens alors :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var bmacroEncours = false;
     
    function lance(Numero_Macro) {
     
        if (bmacroEncours) return ;
        bmacroEncours = true ;
    ...
    ...

  14. #34
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    PARFAIT, Merci beaucoup Beginner et � Nosmoking aussi qui m'avait bien aid� pour les macros si ma m�moire est bonne !

    Merci j'vais �dit mon message j'ai vu les 3 lignes mais avec le manque d'habitude pour voir le code je pensais que c'�tait plus difficile � discerner !

    Ca marche TIP TOP !

    Dis moi, en petites lignes comme �� tu n'aurais pas l'�quivalent pour g�n�rer un son au clic ?

  15. #35
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Ah enfin... Tant mieux si �a marche.

    Sinon oui NoSmoking avait donn� le principe depuis le d�but et la solution est devenue �vidente apr�s que tu aies post� du code, comme quoi c'est important de poster du code...

  16. #36
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Je le saurais pour la prochaine fois, je ne sais pas comment j'aurais fais sans vous...

    On se revoit dans un an, laissez moi vos adresses en MP, "si vous voulez" et je vous enverrais un cadeau � ce moment l�...

  17. #37
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Un cadeau dans un an ? Il faut �tre patient...

    Non s�rieusement la satisfaction d'avoir rendu service est suffisante...(c'est beau �a, non ?)

    PS : N�oublie pas de mettre le fil en r�solu.

  18. #38
    Membre confirm�
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Par d�faut
    Vient � point � qui sait attendre !

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 2 sur 2 Premi�rePremi�re 12

Discussions similaires

  1. [AC-2010] Simuler un clic sur une page web sur une image javascript
    Par alex en droit dans le forum VBA Access
    R�ponses: 2
    Dernier message: 02/04/2012, 13h22
  2. Imprimer une seule image sur une page php
    Par isa150183 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 14/08/2011, 16h32
  3. gestion autorisation sur une page
    Par johan971 dans le forum SharePoint
    R�ponses: 5
    Dernier message: 29/05/2008, 13h50
  4. R�ponses: 6
    Dernier message: 24/05/2007, 10h55
  5. Détecter un clic sur une page html depuis le serveur?
    Par korntex5 dans le forum Delphi
    R�ponses: 18
    Dernier message: 12/10/2006, 17h59

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