Подсчет просмотров при клике на видео - PullRequest
0 голосов
/ 25 декабря 2018

Вот ситуация.У меня есть проект, где я разрешаю пользователям загружать видео.Каждый раз, когда вы нажимаете на видео, появляется Bootstrap-Modal, и видео автоматически начинает воспроизводиться.Теперь я также реализовал кое-что, когда при клике на видео это считается просмотром, потому что когда вы кликаете на видео, оно автоматически запускается.Теперь вот где я все испортил, представление подсчитывается, когда открывается модальное окно, и это не то, что я хотел, я хотел, чтобы представление подсчитывалось при нажатии на видео.Я покажу вам мой код ниже.Может ли кто-нибудь помочь мне исправить это?

 //Video
<video class="video1" id="cx"  preload="auto" align="middle" data- 
toggle="modal"  data-target="#mymodal" data-user-id="{{$usero->id}}"
        data-video-src="{{$usero->intro_video}}"
        data-video-views="{{$usero->clicks}}"   style="  
   cursor:pointer;"><source  src="{{$usero->intro_video}}#t=15"  alt="Video 
   Unavailable"   id="" ></source>

  //Ajax request
  $('#mymodal').on('show.bs.modal show', function (event) {

var button = $(event.relatedTarget);


var user_id = button.data('user-id') ;
var video_src = button.data('video-src');
var video_views = button.data('video-views');


var modal = $(this);
modal.find('#video_source').attr('src', video_src);
modal.find('#video_views').text(video_views);

// send ajax request to increment video count
$.ajax({
    method: 'GET',
    url: 'getmsg',
    dataType: "json",
    contentType: "application/json",
    data : {
        requested_id: user_id
    },
    success: function(data){

    }
});
})

1 Ответ

0 голосов
/ 25 декабря 2018

Из предоставленных вами примеров кода я предполагаю, что в вашем модале есть еще один видео-тег, атрибут src которого вы обновляете в событии show.bs.modal.В этом случае вы должны присвоить этому элементу видео идентификатор (например, video2), а затем вы можете вызвать событие onplay для этого, и вы должны поместить свой код ajax в этот список событий, например,

$('#video2').onplay(function(){
    $.ajax({
        method: 'GET',
        url: 'getmsg',
        dataType: "json",
        contentType: "application/json",
        data : {
            requested_id: user_id
        },
        success: function(data){

        }
    });
   });.

Кроме тогоесли хотите, вы можете обновить количество просмотров из обработчика успешного выполнения запроса ajax.

Надеюсь, это поможет.

...