YouTube播放器API - addEventListener()对我不起作用?

时间:2010-04-18 02:45:08

标签: javascript youtube-api

我正在使用youtube播放器api。我在这里关注文档:

http://code.google.com/apis/youtube/js_api_reference.html

在播放器上添加事件监听器时出现问题,似乎只是卡在那里。我之后直接发出一个警告声明,它永远不会被调用:

ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
alert("I never get called...");

知道为什么会这样吗?通过FF chrome safari运行它,同样的事情发生在所有。其他玩家功能都很好。我正在使用swfobject版本。我也是从服务器上运行的。我不明白。

由于

4 个答案:

答案 0 :(得分:1)

看一下这个页面的源代码,可能会让你朝着正确的方向前进。视频下的数字是捕获的视频状态,并按照您尝试实施的方式进行更新

http://goo.gl/b93ns

答案 1 :(得分:1)

将回调放在全局命名空间中,例如window.onytplayerStateChange = function。

虽然它非常糟糕,但它是我能够成功获得回调的几种方式之一。有人告诉我,因为addEventListener是一个自定义函数,它覆盖了通过全局命名空间中的字符串进行查找的本机代码。

答案 2 :(得分:0)

我认为这是一个错误。这是对我有用的解决方案:

在播放器网址中,您必须包含“&”之后 ?。所以这个例子是这样的:

VIDEO_ID enablejsapi = 1&安培; playerapiid = YouTube播放

但请改用:

VIDEO_ID&安培; enablejsapi = 1&安培; playerapiid = YouTube播放

(请注意& before'enable')

没有多大意义,但它现在正在运作:)

答案 3 :(得分:-1)

尝试将Firebug http://getfirebug.com/用于FireFox,它应该可以帮助您找到任何javascript错误。我也遇到了youtube事件监听器的问题,但我在Firefox中工作。