Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 16h25   #1
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
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 ! =)
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 16h31   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
dans quel but ?

si c'est pour gérer un style, les navs le font tout seuls avec la pseudo classe :visited
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 16h43   #3
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
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
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h03   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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 :
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
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h08   #5
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
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
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h17   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h25   #7
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
la proprieté detail de l'objet event mais je doute qu'internet explorer l'implemente
sinon à vu de nez
Code :
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à
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 18h08   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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 ?
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h10   #9
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
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 ?
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h24   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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 ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 21h58   #11
Membre confirmé
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : août 2008
Messages : 543
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : août 2008
Messages : 543
Points : 255
Points : 255
Peut-être qu'il serait mieux de passer par de l'Ajax et inscrire un compteur pour chaque lien.
__________________
Les statistiques et prévisions des principaux championnats européens sur : league-evolution.com
Marc22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h52   #12
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
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
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h56   #13
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h09   #14
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
tu oublie ça
Citation:
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
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h23   #15
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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 ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h29   #16
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
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?
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h58   #17
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
le fait d'utiliser le visited dispense de toute requete ajax ou toute manip serveur .

Suffit juste sur le onload de scanner les styles ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 19h28   #18
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
c'est interressant à savoir merci
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 19h33   #19
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
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 ?
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 19h39   #20
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
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 ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h54.


 
 
 
 
Partenaires

Hébergement Web