Javascript Vue.js 2-Vue youtube嵌入如何检测视频结束状态?
我在vuejs组件中使用Youtube API 这是我的密码:Javascript Vue.js 2-Vue youtube嵌入如何检测视频结束状态?,javascript,youtube-api,vue.js,youtube-javascript-api,vuejs2,Javascript,Youtube Api,Vue.js,Youtube Javascript Api,Vuejs2,我在vuejs组件中使用Youtube API 这是我的密码: <script> export default { data() { return { videoId: 'HjxYvcdpVnU', videoLaunched: false, videoLoaded: false, videoRewatch: false, videoEnded: false } }, computed: {
<script>
export default {
data() {
return {
videoId: 'HjxYvcdpVnU',
videoLaunched: false,
videoLoaded: false,
videoRewatch: false,
videoEnded: false
}
},
computed: {
videoThumb: function () {
return 'https://img.youtube.com/vi/' + this.videoId + '/maxresdefault.jpg';
}
},
methods: {
launchVideo() {
this.videoLaunched = true;
this.player.playVideo();
document.getElementsByTagName('body')[0].classList.add('overlay');
},
ready(player) {
fitvids();
this.player = player;
this.videoLoaded = true;
},
ended() {
console.log('Ended');
}
}
}
</script>
导出默认值{
数据(){
返回{
videoId:'HjxYvcdpVnU',
录影带:错,
视频加载:错误,
录像转播:错,
视频结束:错误
}
},
计算:{
videoThumb:函数(){
返回'https://img.youtube.com/vi/“+this.videoId+”/maxresdefault.jpg”;
}
},
方法:{
启动视频(){
this.videolaunted=true;
this.player.playVideo();
document.getElementsByTagName('body')[0].classList.add('overlay');
},
准备好(球员){
fitvids();
this.player=player;
this.videoLoaded=true;
},
结束(){
console.log('end');
}
}
}
以及html:
<youtube :video-id="videoId" @ready="ready" @ended="ended" player-width="100%"
player-height="57" :player-vars="{ autoplay: 0, controls: 1, modestbranding: 1, showinfo: 0, rel: 0 }">
</youtube>
ended()方法没有触发,我不知道为什么
ready()方法工作正常,因此我不确定ended()方法上为什么没有触发console.log
我看不到文档中关于如何操作的示例。作者给我写了一个示例,我已经按照以下步骤进行了操作:
如图所示,它应该与其他产品相同。作为一个问题提出这一问题尚未解决。我不知道如何回答您的问题,但您是否知道可以通过
doment.body
访问body
元素?可能会帮助您编写更少的代码。@jeerbl好提示。谢谢。这里的一些细节也不错。