使用Tealium定义的播放器变量

时间:2019-01-21 21:53:24

标签: javascript jquery youtube-api tealium

我目前正在尝试重用我们的茶叶utag.js创建的变量。

我们使用Tealium来跟踪网页上的各种内容,我刚刚注意到它跟踪的某些内容使我无法为嵌入式youtube视频创建控制器,因为utag.js包含了这些控件,如下所述({ {3}})[here

// Tealium Tracking Code for YouTube iframe embeds
//
// Read the identifiers on the YouTube iframes. If not present, then add ids
if (jQuery('iframe[src*="youtube.com"]').length > 0) {
 var i = 0, id;
 window.iframe_id = [];
 jQuery('iframe[src*="youtube.com"]').each(function() {
   if (jQuery(this).attr('id')) {
     id = jQuery(this).attr('id');
     window.iframe_id.push(id);
   } else {
     id = 'tealium_youtube' + i;
     jQuery(this).attr('id', id);
     window.iframe_id.push(id);
     i++;
   }
 });
}

// Configure Milestones
//
function setMileStones(i) {
  // Set the intervals here as you want them reported, in % viewed, each number separated by a comma
  // If you do not want mileStones set mileStones[i] = [] ;
  mileStones[i] = [10, 25, 50, 75, 90];
}
var mileStones = [];
for (i = 0; i < window.iframe_id.length; i++) {
  setMileStones(i);
}

// Load the YouTube iframe library
//
var ytapi = document.createElement('script');
ytapi.src="https://ww" + "w.youtube" + ".com/iframe_api";
var scriptref = document.getElementsByTagName('script')[0];
scriptref.parentNode.insertBefore(ytapi, scriptref);

window.players = [];
window.onYouTubeIframeAPIReady = function() {
  // Confirm existing ID or set ID in the iframe for each video on the page
  jQuery('iframe[src*="youtube.com"]').each(function() {
  var id = jQuery(this).attr('id');
  window.players[id] = new YT.Player(id, {
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
      }
    });
  });
};

这个utag.js脚本已经作为标题包含在html中,所以为什么我不能从控制台使用window.players [jQuery(this).attr('id')]。playVideo()开始一个视频? 它说它不知道播放器,是不确定的?这是奇怪的,因为此脚本是头部的一部分,因此该变量应为“全局”?有空吗?

0 个答案:

没有答案