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 :

Compter comme vue une vidéo si elle a été affichée plus de 3secondes ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Compter comme vue une vidéo si elle a été affichée plus de 3secondes ?
    Bonjour à tous,

    Voilà je cherche à modifier mon code pour pouvoir faire en sorte de compter comme vue la vidéo si celle ci a été affichée dans le ViewPort plus de 3 secondes. Je ne sais pas s'il est possible de lancer un chronomètre qui affichera "Vidéo vue plus de 3secondes" une fois les 3 secondes passées. Il faudrait que cette information ne soit donnée qu'une fois, ainsi si on scroll et qu'on revient ça ne sera pas comptabiliser comme une vue.

    Ici la vidéo est un exemple, elle se lancera toute seule une fois terminé.

    Merci d'avance pour votre précieuse aide.
    Code html : 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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <html>
    <head>
    </head>
     
    <body>
     
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
     
    <iframe id="player_vid" width="300" height="200" src="https://www.youtube.com/embed/YXMnrY_Fcns" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
     
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <script>
        window.onload = function() {
            
                    
                    var isInViewport = function (elem) {
                    var bounding = elem.getBoundingClientRect();
                    return (
                    bounding.top >= 0 &&
                    bounding.left >= 0 &&
                    bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
                    bounding.right <= (window.innerWidth || document.documentElement.clientWidth)
                    );
                    };
                    var player = document.getElementById('player_vid');
                    window.addEventListener('scroll', function () {
                            canUserSeeIt = isInViewport(player);
                            console.log(canUserSeeIt);
                            console.log(
                    }, false);
        }
    </script>
    </body>
    </html>

  2. #2
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 714
    Points : 1 598
    Points
    1 598
    Par défaut
    jour

    utilise startTime et currentTime


    au demarage startTime=depart et a l'arret currentTime-depart=duree en miliseconde
    Plus vite encore plus vite toujours plus vite.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Oui tout à fait mais mon soucis est l'intégration dans le fait que le timer doit se lancer quand la video est dans le ViewPort et s'arrêter quand la video n'est plus visible. Il faut pouvoir stocker le temps passé et garder uniquement le plus grand

  4. #4
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 714
    Points : 1 598
    Points
    1 598
    Par défaut
    utilise onscroll pour verifier la position de la video par rapport a la fenetre
    Plus vite encore plus vite toujours plus vite.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    C'est en effet ce que j'ai effectué avec le code présent ci dessus. Mon soucis est qu'il me retourne un booléen a chaque mouvement hors je voudrais n'avoir que lorsque qu'il change et qu'il passe de vrai à faux par exemple

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Déclaré vu une vidéo, alors que l'on faisait défiler la page qui la contient est une arnaque, car on n'a vu qu'une image statique pendant X secondes.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 21
    Points : 10
    Points
    10
    Par défaut


    Coucou,


    C'est pour cela que le but ici est de récupérer le temps que l'internaute est resté sur la vidéo mais mon soucis est que le code me ressort des true et false à chaque scroll et je ne connais pas la manipulation pour dire "au premier true" alors la date est prise dans une variable "au premier false" la date va dans une autre variable puis on fait la soustraction.

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Exemple :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <button id='marche'>Play</button>
    <button id="arret">Stop</button>
    <span id="temps">00:00:00</span>
    <br>
    <video id="video1">
        <source src='http://videos.mozilla.org/serv/marketing/communityvideos/community_vreddy.ogv' type="video/ogg">
        <source src='http://d31j8lt3uybmqs.cloudfront.net/sublimevideo/dartmoor.mp4' type="video/mp4">
    </video>

    Code JavaScript : 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
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        const
            elemVideo = document.querySelector('#video1'),
            elemTmp = document.querySelector('#temps'),
            elemPlay = document.querySelector('#marche'),
            elemStop = document.querySelector('#arret');
     
        let
            inter_video,
            boolVideoVue = false;
     
        function tmp() {
            let
                dura = elemVideo.currentTime,
                min = Math.floor(dura / 60),
                sec = Math.floor(dura % 60);
     
            if (sec > 3) {
                boolVideoVue = true;
            }
     
            // devug, console, touche F12
            console.log(`La vidéo a été vue pendant ${ sec } secondes. boolVideoVue = ${ boolVideoVue }`);
     
            if (min < 10) {
                min = '0' + min;
            }
     
            if (sec < 10) {
                sec = '0' + sec;
            }
     
            elemTmp.firstChild.nodeValue = '00:' + min + ':' + sec;
        }
     
        elemPlay.addEventListener('click', ev => {
            elemVideo.play();
            inter_video = setInterval(tmp, 100);
        }, {
            capture: false,
            passive: true,
            once: false
        });
     
        elemStop.addEventListener('click', ev => {
            clearInterval(inter_video);
            elemVideo.pause();
            elemVideo.currentTime = 0;
        }, {
            capture: false,
            passive: true,
            once: false
        });
     
        // fin code du test
     
    }, {
        capture: false,
        passive: true,
        once: false
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup pour cette réponse, le choix de la vidéo est très sympa ahah. Je vais essayer d'adapter cela à mon cas, merci beaucoup

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 14/10/2009, 20h22
  2. Vidéo en ligne ne s'affiche plus
    Par adrian07 dans le forum Vidéo
    Réponses: 1
    Dernier message: 06/03/2009, 13h49
  3. Réponses: 2
    Dernier message: 27/01/2009, 19h01
  4. suite à une action, ma page ne s'affiche plus correctement
    Par troussepoil dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/09/2008, 13h54
  5. Réponses: 2
    Dernier message: 28/04/2008, 18h48

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