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 :

Connaitre les liens deja visités


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut Connaitre les liens deja visités
    Bonjour,

    J'aimerais savoir si il existe une variable inclue dans l'objet Dom d'une balise <a> qui permettrait de savoir si un lien a déjà était visitée, en effet on peu connaitre son href, son target en autre, mais peut-on savoir si l'utilisateur à déjà visité ce lien en javascript ? Jusqu'à présent aucune de mes recherches n'a abouti

    Merci d'avance pour votre aide ! =)

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    dans quel but ?

    si c'est pour gérer un style, les navs le font tout seuls avec la pseudo classe :visited

  3. #3
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    Oui puis on peu intervenir avec les pages de style css grâce a ces pseudos classe mais la ce serait pour compter le nombre de liens visité sur une page

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    un moyen détourné en utilisant jquery

    dans le visited des liens il suffit de modifier une propriété (visible ou non )
    ici visible pour l'example (couleur de font rouge) ...

    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
    <script type="text/javascript">
    $.extend($.expr[':'],{
        red: function(a) {
            return $(a).css('color') === 'red';
        }
    });
     
    $(function(){
    var foo= $("a:red").length 
    alert(foo)
     })
    </script>
    <style type="text/css">
    a:visited {color:red;}
    </style>
    </head>
    <body>
    <a href="#">ici</a>
    </body>
    ensuite il suffit de compter avec une extension de selecteur le nombre de liens ayant la couleur rouge

  5. #5
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    Oui je vois donc il n'existe pas de variable propre, il faudrait absolument passé par du css pour pouvoir le faire

    Merci de ton aide

  6. #6
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    oui il faut passer par la detection de la pseudo classe visited qui modifie une propriété
    attention toutefois mon exemple ne fonctionne que sous IE car ffx renvoit
    rgb(255,0,0) au lieu de red ...
    mais on peut trouver une autre propriété qui renvoie la même chose sous IE et ffx

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    la proprieté detail de l'objet event mais je doute qu'internet explorer l'implemente
    sinon à vu de nez
    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
     
    boleanNbEvent=true;
    var nbEvent=0;
     
    function nombreClic(){
    if(boleanNbEvent==true){
    nbEvent++;
     
    alert(nbEvent);
     
    boleanNbEvent=false;}
    else{
    nbEvent++;
    alert(nbEvent);
     
    }
    };
    et tu appelle la fonction dans ton onclick ou dans event.addEventListener
    sans le bolean ça ne fera que 1
    si il a été cliqué c'est qu'il a été visité^^
    voilà

  8. #8
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    sauf que ... ton bool click ne survit pas au rechargement de page ...
    ton script ne fonctionnerait qu'avec des targets ou des liens window.open
    le but etant de pouvoir revenir sur a page et compter les liens visités malgré un rechargement, je ne vois pas d'autre possibilité que de filouter avec et tu comptabilise plusieurs fois un click sur un même lien ?

  9. #9
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    SpaceFrog a raison, dès que le rechargement de la page sera effectué, toute les informations seront perdu

    Sinon savez-vous comment est effectué la vérification de :visited par les moteurs css sur la page html ? C'est a dire la fonction source appelé lors de la lecture de la page css
    On pourrais alors l'imiter en javascript ce qui permettrait de connaitre les liens visité, non ?

  10. #10
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    ce n'est pas possible directement, c'est pour cela que je passe par jquery

    l'astuce consiste à attribuer une propriété de style bien spécifique au moyen du css et de la pseudo classe :visited qui n'est absolument pas reconnue par le DOM
    puis je recupère les elements avec cette proprété en faisant une extension des selecteurs ...

  11. #11
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut
    Peut-être qu'il serait mieux de passer par de l'Ajax et inscrire un compteur pour chaque lien.

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    dans le onload rien n'empeche d'ajouter un parametre "lien1" etc et même d'envoyer mon bolean en parametre lors du reload
    moi j'utiliserai une iframe avec contentWindow.document.MonTableauDeLienCliqué || myf.contentDocument.MonTableauDeLienCliqué; dans la page principale et donc dans
    nombreClic() je récupere le nombre de liens et l'id du lien cliqué ensuite avec un switch selon l'id qui compabilise le nombre de clic de chaque lien et tout ça dans un tableau récuperer par la page principale
    ensuite si c'est asynchrone un setInterval qui va toutes les secondes chercher le tableau dans l'iframe
    et en fait c'est de l'ajax sans utiliser ajax donc Marc22 a raison
    pourquoi utiliser javaSvcript et rafraichir une page...
    utiliser Jquery uniquement pour ça c'est un peu casser une noix avec une bombe atomique aprés chacun sa maniere de faire du JS

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    passer une ribambelle de paramètres dans le lien en get ?

    rien à voir avec de l'ajax puisque tu recharges la page.
    et faut le faire sur touts les pages ... et ça ne fonctionnera pas avec un retour arrière

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    tu oublie ça
    dans le onload rien n'empeche d'ajouter un parametre "lien1" etc et même d'envoyer mon bolean en parametre lors du reload
    même si c'est des get et que ça marcherait sinon via une iframe tu peux faire du cross domain et injecter une fonction dans la page principale via le dom qui contiendra tes données bref c un peu tiré par les cheveux j'avoue!
    Ma 2ieme solution fonctionne et la question est pourquoi rafraichir la page et faire un retour en arriere ne suffit t'il pas de rafraichir les données?
    si c'est necessaire il faut stocker le nombre de liens par lien dans une base de donnée et récuperer le tout via php et sql pour les avoir encore lors du rafraichissement aprés c'est ce que je ferais....
    Je ne connais pas jquerry...

    EDIT je ne fais que ça mes iframes avec une fonction callback et la page n'est jamais rechargé tu peux debranché la box tout fonctionne quand même

  15. #15
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    tu oublies juste une chose ...
    il faut que les liens restent dans le domaine ...
    car toutes tes pages devront renvoyer les paramètres dans le get ...
    ou dans la version bdd il faut faire un ajax (ou iframe) avant de quitter le site ...

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    pourquoi ne pas faire une requete ajax en quittant le site via onunload
    aprés c'est juste des propositions la méthode avec jquery est peut être plus simple
    aprés phpmyvisit fait ce genre de choses il y a peut etre moyen de récuperer ce style de données dessus?

  17. #17
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    le fait d'utiliser le visited dispense de toute requete ajax ou toute manip serveur .

    Suffit juste sur le onload de scanner les styles ...

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    c'est interressant à savoir merci

  19. #19
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    Merci pour votre aide active

    Mais comment le navigateur retient-il les liens visité ? par des cookies non ? On pourrait acceder à ces derniers pour verifier quels liens est visité non ?

  20. #20
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Je dirais que c'est interne au navigateur et hors de portée de javascript comme pour le history, les liens y sont stockés, on peut les invoquer avec un history.go() mais pas plus ...

Discussions similaires

  1. Connaitre les liens statique d'un noyau
    Par TheDrev dans le forum Linux
    Réponses: 0
    Dernier message: 19/03/2010, 14h15
  2. Problème avec couleur des liens deja visités
    Par fcjunic dans le forum Firefox
    Réponses: 2
    Dernier message: 04/05/2009, 19h19
  3. Connaitre les sessions de visite
    Par miron_fds dans le forum SAS Base
    Réponses: 8
    Dernier message: 10/03/2009, 16h11
  4. supprimer liens deja visités en arrivant sur le site
    Par jeromejanson dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 26/05/2008, 14h41
  5. [Réseau] Connaitre les machines connectées sur un swicth
    Par Cyspak dans le forum Développement
    Réponses: 10
    Dernier message: 26/02/2007, 13h40

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