跟踪嵌入视频事件与YouTube API - ytcfg没有定义(...)
问题描述:
我发现这个tutorial有关如何跟踪的嵌入YouTube视频GA事件,并做了我的剧本由它:跟踪嵌入视频事件与YouTube API - ytcfg没有定义(...)
(function ($) {
$(document).ready(function() {
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
});
// This code is called by the YouTube API to create the player object
function onYouTubeIframeAPIReady(event) {
player = new YT.Player('player', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
var done = false;
function onPlayerStateChange(event) {
// track when user clicks to Play
if (event.data == YT.PlayerState.PLAYING && done===false) {
ga('send', 'event', 'Video', 'Prehratie videa', 'GE', 1);
done = true;
}
}
}(jQuery));
脚本添加在theme_preprocess_page()的每一页。然而,我发现了一个错误:
Uncaught ReferenceError: ytcfg is not defined(…)
Here你可以读它在YouTube的侧错误。确实,我的脚本中的一切都可以,我能做些什么才能使其发挥作用?
答
嗯,这是YouTube上的一个bug,现在有一个existing bug ticket。您可以随时查看此故障单以获取有关此问题的更新。
对于解决方法,我在此YouTube Help Forum中发现使用对象而不是iframe。如果它适用于你的情况,你可以试试这个临时解决方案。希望它可以帮助你。