我发现这个tutorial有关如何跟踪嵌入YouTube视频的GA事件,并通过它完成了我的脚本:
(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()的每个页面上。但是,我收到了错误:
未捕获的ReferenceError:未定义ytcfg(...)
Here你可以在youtube方面看到这是一个错误。确实,我的脚本中的所有内容都可以,并且我可以做些什么才能让它工作?
答案 0 :(得分:0)
嗯,这是YouTube部分的一个错误,现在有一个existing bug ticket。您可以随时查看此错误凭单以获取有关此问题的更新。
对于变通方法,我在此YouTube Help Forum中找到了使用对象而不是iframe的方法。如果适用于您的情况,您可以尝试此临时解决方案。希望它可以帮到你。