Используйте переменную игрока, которую определил tealium - PullRequest
0 голосов
/ 22 января 2019

Я сейчас пытаюсь повторно использовать переменную, которую создает наш tealium utag.js.

Мы используем tealium для отслеживания различных вещей на нашей веб-странице, и я только что заметил, что некоторые вещи, которые он отслеживает, делают меня неспособным создавать контроллеры для моих встроенных видео на YouTube, так как utag.js включает их, так какзаявлено ( здесь ) [https://community.tealiumiq.com/t5/iQ-Tag-Management/Tracking-Video-with-Tealium-iQ/ta-p/15049]

// 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 как заголовок, так почему я не могу из окна консоли использовать.игроки [jQuery (это) .attr ('id')]. playVideo (), чтобы начать видео?Он говорит, что он не знает игрока, он не определен?что странно, так как этот скрипт является частью головы, и, следовательно, переменная должна быть "глобально?"доступны

...