jquery视频html5多视频跟踪

jquery视频html5多视频跟踪,jquery,html,html5-video,Jquery,Html,Html5 Video,我试图从包含多个视频的页面获取当前视频源,这些视频由id分隔 示例如下 <video id="videoOne" controls src="videoOne.mp4" </video> <video id="videoTwo" controls src="videoTwo.mp4" </video> 我可能有点不对劲,如果有,请告诉我,我会删除我的答案。 但以下是我要尝试的: 在外部绑定事件中,获取对视频对象的引用 使用它来查找您当前的\u src 继续

我试图从包含多个视频的页面获取当前视频源,这些视频由id分隔

示例如下

<video id="videoOne"
controls src="videoOne.mp4"
</video>

<video id="videoTwo"
controls src="videoTwo.mp4"
</video>

我可能有点不对劲,如果有,请告诉我,我会删除我的答案。
但以下是我要尝试的:

  • 在外部绑定事件中,获取对视频对象的引用
  • 使用它来查找您当前的\u src
  • 继续使用它执行其他事件绑定
  • 只是一个想法

    var PodcastAnalytics = PodcastAnalytics || {};
    
    // Wait for the video element to be parsed before attempting this.
    $(document).ready(function(){
    
      // Wait until the video metadata has been loaded before we try to determine the current video source.
      $('video').on('loadedmetadata', function(){
        // should 'this' refer to the video object?
        var $video = $(this); 
    
        // Simple function to chop off the file extension for the current source of the video. 
        PodcastAnalytics.audio_url = (function(){
          var current_source = $video.attr('currentSrc');
          // var current_source = $('video')[0].currentSrc;
          return current_source.slice(0, -4);
        }());
        // function that sends the actual tracking beacon
        PodcastAnalytics.gaq_track = function(action) {
          // All events will be in the Video category
          var tracking_params = ['podcast','audio']
          // append the event action after the event method and the event category    
          tracking_params.push(action);
          // append the video url as the event label
          tracking_params.push(PodcastAnalytics.audio_url);
    
          // Replace this console.log with something like this if you are using Google Analytics:
          // _gaq.push(tracking_params);
          console.log(tracking_params);
        }
    
        $video.on('play', function(){
          PodcastAnalytics.gaq_track('Play');
        });
    
        $video.on('pause', function(){
          PodcastAnalytics.gaq_track('Pause');
        });
    
        $video.on('seeked', function(){
          PodcastAnalytics.gaq_track('Seeked');
        });
    
        $video.on('ended', function(){
          PodcastAnalytics.gaq_track('Ended');
        });
    
      });
    
    });
    

    我使用下面的jquery获得了正确的
    ,但仍然想知道这是否可能,以及如何从e.target.id获得
    currentSrc

    $(document).ready(function($){
    
        $('video').on('loadedmetadata', function() {
    
                tracking = function(action,id, source) {
    
                    var items = ['podcast','audio',action,id, source];
    
                    console.log(items);
                };
            });
    
        $('video').off('play').on('play', function(e) {
                var idx = $(this).index();
                var currentSource = $('video')[idx].currentSrc;
                tracking('Play', e.target.id, currentSource);
            });
    
        $('video').off('pause').on('pause', function(e) {
            tracking('Pause', e.target.id);
        });
    
        $('video').off('seeked').on('seeked', function(e) {
            tracking('Seeked', e.target.id);
        });
    
        $('video').off('ended').on('ended', function(e) {
            tracking('Ended', e.target.id);
        });
    });
    

    谢谢你的建议,我确实更新了我原来的帖子,新的jquery现在正在跟踪正确的答案,你应该保持原来的原样,并提交你的更正代码作为一个单独的答案,然后接受它作为正确的答案。这为其他人留下了一条很好的道路。
    $(document).ready(function($){
    
        $('video').on('loadedmetadata', function() {
    
                tracking = function(action,id, source) {
    
                    var items = ['podcast','audio',action,id, source];
    
                    console.log(items);
                };
            });
    
        $('video').off('play').on('play', function(e) {
                var idx = $(this).index();
                var currentSource = $('video')[idx].currentSrc;
                tracking('Play', e.target.id, currentSource);
            });
    
        $('video').off('pause').on('pause', function(e) {
            tracking('Pause', e.target.id);
        });
    
        $('video').off('seeked').on('seeked', function(e) {
            tracking('Seeked', e.target.id);
        });
    
        $('video').off('ended').on('ended', function(e) {
            tracking('Ended', e.target.id);
        });
    });