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 :

Comment savoir si une image a été vue par le visiteur


Sujet :

JavaScript

  1. #1
    Membre averti
    Avatar de berry
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 251
    Points : 308
    Points
    308
    Par défaut Comment savoir si une image a été vue par le visiteur
    Bonjour à tous

    Voilà, je dois savoir si une image <img src..... a été vue par l'utilisateur.

    La page est assez grande, et je dois savoir si une image qui se trouve tout en bas ou ailleurs a été vue (savoir si le visiteur a deplacé la scroll bar jusque là).

    Merci d'avance
    Pensez au tag [Résolu]
    FAQ PHP

  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 637
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    à part faire une fonction sur le onscroll du body qui declenche une requete ajax ...

    sinon lui demander de clicker sur l'image ...
    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
    Membre averti
    Avatar de berry
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 251
    Points : 308
    Points
    308
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    à part faire une fonction sur le onscroll du body qui declenche une requete ajax ...

    sinon lui demander de clicker sur l'image ...
    pourquoi pas mais comment savoir de facon précise que une image donnée (parmi d'autres) a été vue ?

    Est-ce que ton idée était de calculer le scroll px par px ?
    Pensez au tag [Résolu]
    FAQ PHP

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu as plusieurs façons de faire. Déjà, l'événement onload existe sur l'objet JavaScript Image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function new_image_temp_loaded() {
        ...
    }
     
    image_temp        = new Image();
    image_temp.onload = new_image_temp_loaded;
    J'utilise ce code pour un de mes trucs. Ca marche avec FF 2, IE 6, Safari et Opera. En revanche, je ne sais pas si <img src="..." onload="..."> fonctionne.

    Sinon, je crois que le navigateur appellera l'événement body.onload (<body onload="...">) lorsque toutes les images auront été chargées. Je ne sais pas si ça peut aider.

    Autre solution mais faut coder côté serveur : c'est faire en sorte qu'un script soit appelé lorsqu'on demande une image. C'est un peu le principe des images générées dynamiquement avec une jolie URL (http://.../images/graphique.png), sauf que dans ton cas, ce n'est pas plus dynamique que ça. Ca peut se faire avec de l'URL rewriting. Par exemple, toutes les URL en /images_a_compter/xxx.jpg sont réécrites vers /images_a_compter/compteur.php, et ce compteur.php fonctionne de la façon suivante :
    1. Localisation de l'image demandée
    2. Envoi du Content-Type et Content-Length qui vont bien
    3. Lecture et envoi de l'image demandée
    4. Traitement qui signale que l'image a été lue en entier

    Faut faire le traitement à la fin car s'il y a interruption de la connexion, on peut espérer que le script sera interrompu (en tout cas, faut faire en sorte qu'il le soit) et donc le traitement spécifique ne sera pas exécuté car l'image n'aura pas été chargée entièrement.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre averti
    Avatar de berry
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 251
    Points : 308
    Points
    308
    Par défaut
    voici ce que je veux faire concretement

    il s'agit de lire (comme un pdf) une suite d'images qui représente un livre/revue ou quoi que ce soit.

    Un peu comme sur google books. On charge une page qui contient on va dire 300 images (pages). Seulement je ne veux charger que les images (pages) que le visiteur veut lire. Ca ne sert à rien de charger le reste , d'une pour un problème de bande passante mais aussi pour ne pas surcharger le navigateur.

    Ainsi, je veux qu'une fois une image VUE par l'utilisateur, les 2 images suivantes commencent à se charger.

    Dans google books, si on est à la page 1 et qu'on commence à scroller, on voit les pages "utiles" se charger une par une. J'aimerai faire plus ou moins la meme chose.
    Pensez au tag [Résolu]
    FAQ PHP

Discussions similaires

  1. Comment savoir si une image touche à une autre image ?
    Par Daniel_P dans le forum VB 6 et antérieur
    Réponses: 79
    Dernier message: 30/11/2007, 18h48
  2. Comment savoir si une image a été chargée??
    Par Travailleuuse06 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2006, 09h09
  3. Comment savoir si une impression s'est bien déroulé?
    Par Cyrilh7 dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/11/2003, 20h49
  4. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42
  5. Réponses: 4
    Dernier message: 10/09/2002, 17h09

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