假设已经从另一个javascript模块youtube.js
定义了一个播放器对象,如下所示:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('initial-video', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
如何从some_other_js_file.js
访问此player
以便加载另一个视频?是否可以在some_other_js_file.js
中定义一个指向同一玩家对象的新变量?如果不是,有什么可能的解决方法?
假设player
是在iframe中定义的,则可以使用其contentwindow属性从父页面访问它。iFrame中的所有全局变量都可以从contentWindow
访问
来自some_other_js_file.js
youtubeiFrame = document.getElementById('youtube-frame-id').contentWindow;
alert(youtubeiFrame.player)
这和你的情况相符吗?
编辑这个答案似乎是为了解决从父iframe访问youtube播放器的问题,使用jsFiddle示例