1

我正在尝试调试我的问题。我导入了一个同事编写的库,该库将从播放列表中提取 YouTube URL。一旦这个库完成了提取过程,它将触发事件playlistDone并将 YouTube URLs 放在 object 中OBJ.youtube.videos。由于我的网站非常庞大且复杂,因此我在一个空白网站上测试了这个库以验证它是否正常工作。

$(document).on('playlistDone', function() {
    console.log( 'done' );
    console.log( OBJ.youtube.videos );
}); 

当我将上面的代码移至我的网站时,控制台会确认playlistDone自定义事件,但报告OBJ.youtube.videos未定义。任何人都可以就为什么会发生这种情况提供任何建议吗?

我用于测试的空白页示例:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    </head>
    <body>
    <div>
        <h1>Video</h1>
        <div id="player" style="width:650px; height:400px;"></div>
        <hr />
        <div style="width:650px; height:80px; border:solid 2px #e8e; overflow:horizontal" id="thumbnails"></div>
    </div>
    <script src="youtube-playlist-lib.js?playlistId=PLA249A8D68B9C95F7&dom=player&thumbnails=thumbnails"></script>
    <script type="text/javascript">
        $(document).on('playlistDone', function() {
           console.log( 'done' );
           console.log( OBJ.youtube.videos );
        }); 
    </script>
    </body>
</html>
4

2 回答 2

1

OBJ.youtube.video创建于youtube-playlist-lib.js. 因此,如果您在包含之前尝试使用它,youtube-playlist-lib.js则会收到错误消息,因为您在未设置时尝试使用它。

确保在包含使用它youtube-playlist-lib.js

于 2012-11-09T18:16:32.233 回答
0

事实证明,代码没有任何问题。相反,Chrome 正在缓存旧版本的库。

于 2012-11-10T03:22:41.323 回答