Youtube onYouTubePlayerReady() 函数未触发
Youtube onYouTubePlayerReady() function not firing
这个问题已经被问过很多次了,但是参考了解决方案还是无法解决。
我有一个嵌入式 Youtube 播放器。我正在关注
https://developers.google.com/youtube/js_api_reference#Examples.
下面是我的JS代码:
var params = {
scale:'noScale',
salign:'lt',
menu:'false',
allowfullscreen :'true',
wmode :'transparent',
allowScriptAccess: 'always'
};
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/vPxGBYJ9Wt8?enablejsapi=1&playerapiid=ytplayer&version=3", "ytapiplayer", "560", "315", "8.0.0", null, null, params, atts);
function onYouTubePlayerReady(playerId) {
alert("youtube player ready");
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
var count = 0;
function onytplayerStateChange(newState) {
alert("inside");
if (newState == 1){
count = count + 1;
//Trying to count the number of times video is played
}
}
我可以观看视频,但我无法收到任何提醒消息。
它由 Web 服务器提供。此外,JS 代码是在 JSP 页面中编写的。我应该检查哪些项目?
更新
我在单独的文件中尝试了相同的代码,它工作得很好。
我通过将 window.onYouTubePlayerReady 放在 $(document).ready(function())
中解决了这个问题
这个问题已经被问过很多次了,但是参考了解决方案还是无法解决。
我有一个嵌入式 Youtube 播放器。我正在关注 https://developers.google.com/youtube/js_api_reference#Examples.
下面是我的JS代码:
var params = {
scale:'noScale',
salign:'lt',
menu:'false',
allowfullscreen :'true',
wmode :'transparent',
allowScriptAccess: 'always'
};
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/vPxGBYJ9Wt8?enablejsapi=1&playerapiid=ytplayer&version=3", "ytapiplayer", "560", "315", "8.0.0", null, null, params, atts);
function onYouTubePlayerReady(playerId) {
alert("youtube player ready");
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
var count = 0;
function onytplayerStateChange(newState) {
alert("inside");
if (newState == 1){
count = count + 1;
//Trying to count the number of times video is played
}
}
我可以观看视频,但我无法收到任何提醒消息。
它由 Web 服务器提供。此外,JS 代码是在 JSP 页面中编写的。我应该检查哪些项目?
更新
我在单独的文件中尝试了相同的代码,它工作得很好。
我通过将 window.onYouTubePlayerReady 放在 $(document).ready(function())
中解决了这个问题