我正在使用fancybox v3.3.5在灯箱中显示YouTube视频。播放完视频后,我想使用YouTube API在视频播放完后接收回调。 YouTube API需要播放器ID 。我是使用iframe的新手,但似乎带ID的元素位于我文档上分层的文档中。在这种情况下,我无法使用document.querySelector('')
之类的东西来抓取它。
console.log($.fancybox.getInstance());
记录了一个非常大的对象,尽管我还没有找到它,但我认为带有玩家ID的特定div可能会驻留在这里。
当视频以YouTube API和fancybox结尾时,谷歌搜索中将出现一些小技巧,以实现如何获得回调,但是它们使用了我不赞成使用的较旧版本的fancybox。
这是我所关注的div的图像以及getInstance()对象。
div that contains the ID
getInstance() object
HTML:
<a class="fancy" data-fancybox data-width="640" data-height="360" href="https://youtube.com/watch?v=6kkW6qK0GCs&autoplay=0">
<div class="tutorial">See how it works
<i class="play circle icon play-button"></i>
<br>
</div>
</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js"></script>
答案 0 :(得分:0)
是这样的:
$.fancybox.getInstance().current.$content.find('iframe').attr('id')