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 :

limiter le script


Sujet :

JavaScript

  1. #1
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut limiter le script
    Bonjour,

    Je cherche à limiter ce script qui touche toutes les balises <a>.

    Je voudrais qu'il soit plus sélectif, serait t-il possible d'ajouter une class ?

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript"> // <![CDATA[
      function lien() {
        var liens = document.getElementsByTagName("a");
        for (var i in liens) {
          liens[i].onclick = function() { window.open(this.href); return false; };
        }
      }
      // ]]>
    </script>

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function lien() {
        var liens = document.getElementsByTagName("a");
        for (i=0;i<liens.length;i++) {
        	alert(liens[i].flag)
        		 if (liens[i].flag=="1"){ 
         					 liens[i].onclick = function() { window.open(this.href); return false; };
       			 }
      		}
    }
    une boucle for in ne convient pas dans ce cas de figure ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Oui mais je sais pas si ça répond à ma question ?

    Mon menu est touché par le script alors que je ne veux pas.

    Alors je pensais rajouter une class sur chaque lien ou je veux que le script intervienne.

    Je crois que l'on peut rajouter la fonction dans un lien pour pas que le script touche aux autres liens ?

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    mets un flag dans les balises a et tu mets 0 pour celles que tu ne veut pas voir touchées et 1 pour celle que tu veux voir touchées ...

    ne sera pas impacté

    sera impacté
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Et si j'oublie le flag que se passe til ?
    Et le mot flag je peux le remplacer par un mot plus parlant ?

  6. #6
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    C'est pas très pratique comme ça. En plus ya une boite de dialogue qui n'arrête pas de venir !

    On peut pas reprendre mon script et lui rajouté un "flag" ça serait mieux ?

  7. #7
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    lol flag est très parlant !!!
    tu peux mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a hoOuiPrendMoi="0">lien</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function lien() {
        var liens = document.getElementsByTagName("a");
        for (i=0;i<liens.length;i++) {
        		 if (liens[i].hoOuiPrendMoi=="1"){ 
         					 liens[i].onclick = function() { window.open(this.href); return false; };
       			 }
      		}
    }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Ha! oui biensure

    C'est pas très pratique comme ça.

    En plus ya une boite de dialogue qui n'arrête pas de venir !

    On peut pas reprendre mon script et lui rajouté un "flag" ça serait mieux ?

  9. #9
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    attention toutefois ne fonctionne que sous IE

    pour un truc cross browser il faudra passer par l'id qui sera alors reconnu par ffx...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a id="lien_y_1">lien</a>
    <a id="lien_n_1">lien</a>
    <a id="lien_y_2">lien</a>
    <a id="lien_n_2">lien</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
      function lien() {
        var liens = document.getElementsByTagName("a");
        for (i=0;i<liens.length;i++) {
        		 if (liens[i].id.split('_')[1]=="y"){ 
         					 liens[i].onclick = function() { alert(); };
       			 }
      		}
    }
    </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Citation Envoyé par Diabless6
    Ha! oui biensure

    C'est pas très pratique comme ça.

    En plus ya une boite de dialogue qui n'arrête pas de venir !

    On peut pas reprendre mon script et lui rajouté un "flag" ça serait mieux ?
    Ha ben non ! ça fonctionne sous FF aussi !

  11. #11
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Je sais pas si c bien bon ça :

    <a id="href="index.php?frame_a=accueil"" >Accueil</a>

    mais c pas très jouissif ça ne marche pas

  12. #12
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Oups je me suis peut être trompée d'endroit...

    <a href="index.php?frame_a=accueil" id="yes" >Accueil</a>

  13. #13
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    ben ça marche pas

    <a href="index.php?frame_a=accueil" id="lien_y_1" >Accueil</a>

    et j'ai l'impression que tu fais dans la complexité.

    ça serait ça mais juste avec le rajout id="lien" et op là c tout.

  14. #14
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    un id doit être unique sur la page donc tu ne peux pas avoir plusieurs balises avec le même id ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  15. #15
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Citation Envoyé par SpaceFrog
    un id doit être unique sur la page donc tu ne peux pas avoir plusieurs balises avec le même id ...
    ben alors on met class !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     <script type="text/javascript"> // <![CDATA[
      function lien() {
        var liens = document.getElementsByTagName("a");
        for (var i in liens) {
          liens[i].class.onclick = function() { window.open(this.href); return false; };
        }
      }
      // ]]>
     
    </script>
    Sorry I am IN

    Bon ça marche pas mais je suis pas loin...

  16. #16
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui mais il faudrait tester le className ...

    remarque tu peux juste leur coller un name ...
    et du coup tu boucle sur la collection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('hoOuiPrendsMoi')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  17. #17
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    J'ai le sourire au coin des lèvres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     function lien() {
        var liens = document.getElementsByTagName("a");
        for (var i in liens) { if (liens[i].className == "lien")
          liens[i].onclick = function() { window.open(this.href); return false; };
        }
      }
    merci

  18. #18
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    cela focntionne c'est sur, cependant je deconseille deux choses ...

    le var in liens ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     function lien() {var texte ="";
     					  var liens = document.getElementsByTagName("a");
                        for (i in liens) { texte+=i + " " + liens[i] + '\n' }
                        alert(texte)
                        }
    il n'y a pas que les objets voulus dans la collection ...
    lui préférer :
    la boulce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=0;i<liens.length;i++)

    Ensuite en passant par le name il suffisait de recupérer la collection et donc plus de test if className== ,ni même if name==
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. limité durée script, désactivé erreur
    Par gotcha5832 dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2012, 19h32
  2. [Mail] la fonction mail-temps limite d'un script
    Par fk04 dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2006, 13h45
  3. Réponses: 4
    Dernier message: 21/08/2006, 03h54
  4. [Configuration] nombre de scripts limité avec buffers de sorties
    Par alcor dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 08/04/2006, 22h59

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