我正在尝试调试我的问题。我导入了一个同事编写的库,该库将从播放列表中提取YouTube URL。此库完成提取过程后,它将触发事件playlistDone
并将YouTube网址放在对象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>
答案 0 :(得分:1)
OBJ.youtube.video
在youtube-playlist-lib.js
中创建。因此,如果您在包含youtube-playlist-lib.js
之前尝试使用它,则会收到错误,因为您在未设置时会尝试使用。
确保在>>包含youtube-playlist-lib.js
之后使用 。
答案 1 :(得分:0)
事实证明,代码根本没有任何问题。相反,Chrome正在缓存旧版本的库。