使用 Youtube API 跟踪嵌入视频事件 - ytcfg 未定义(…)
tracking embed video events with Youtube API - ytcfg is not defined(…)
我发现这个 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() 中的每一页都添加了脚本。但是,我收到一个错误:
Uncaught ReferenceError: ytcfg is not defined(…)
你可以看到它是 youtube 方面的错误。的确,我的脚本中的一切都很好,我可以做些什么来让它工作吗?
好吧,这是 YouTube 部分的错误,现在有一个 existing bug ticket。您可以随时检查此错误票以获取有关此问题的更新。
对于解决方法,我在此 YouTube Help Forum 中发现使用对象而不是 iframe。如果适用于您的情况,您可以尝试此临时解决方案。希望对你有帮助。
我发现这个 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() 中的每一页都添加了脚本。但是,我收到一个错误:
Uncaught ReferenceError: ytcfg is not defined(…)
好吧,这是 YouTube 部分的错误,现在有一个 existing bug ticket。您可以随时检查此错误票以获取有关此问题的更新。
对于解决方法,我在此 YouTube Help Forum 中发现使用对象而不是 iframe。如果适用于您的情况,您可以尝试此临时解决方案。希望对你有帮助。