Javascript youtube视频完成后关闭fancybox弹出窗口
我在页面加载时弹出了youtube视频 我需要在视频结束时关闭弹出窗口…是否可以集成此脚本 代码如下:Javascript youtube视频完成后关闭fancybox弹出窗口,javascript,jquery,youtube,youtube-api,fancybox,Javascript,Jquery,Youtube,Youtube Api,Fancybox,我在页面加载时弹出了youtube视频 我需要在视频结束时关闭弹出窗口…是否可以集成此脚本 代码如下: <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="jquery.fancybox-1.3.1.js"></script> <link rel
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery.fancybox-1.3.1.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.fancybox-1.3.1.css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$("#yt").click(function() {
$.fancybox({
'padding' : 0,
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'title' : this.title,
'width' : 880,
'height' : 595,
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : 'true'
}
});
return false;
});
});
$('#foo').bind('click', function() {
alert($(this).text());
});
$('#foo').trigger('click');
</script>
</head>
<body onload='$("#yt").trigger("click");'>
<h1>fancybox example</h1>
<p><a id="yt" title="" href="https://www.youtube.com/watch? v=y0vh14W4iTM&fs=1&autoplay=1"></a></p>
$(文档).ready(函数(){
$(“#yt”)。单击(函数(){
$.fancybox({
“填充”:0,
“自动缩放”:false,
“transitionIn”:“无”,
“transitionOut”:“无”,
“title”:this.title,
“宽度”:880,
‘高度’:595,
'href':this.href.replace(新的RegExp(“watch\\?v=,“i”),'v/'),
“类型”:“swf”,
“swf”:{
'wmode':'transparent',
“allowfullscreen”:“true”
}
});
返回false;
});
});
$('#foo').bind('click',function(){
警报($(this.text());
});
$('foo')。触发器('click');
fancybox示例
我报告这次讨论
我还没有练习javascript,有人能帮我吗?你需要在页面上有一个JS播放器的实例。然后你可以针对玩家状态的变化是一个链接,其中包含您需要的信息
您可以将脚本设置为在达到状态时运行,以关闭弹出框。这是Fancybox Youtube Cookie Autoclose Autopopup的完整脚本 只需下载css中所需的图像,将其放入根目录中的/fancybox文件夹中,并替换为视频id即可。经过充分测试后,效果非常好
//检测移动设备功能
var isTouchSupported='ontouchstart'在窗口中,
isTouchSupportedIE10=navigator.userAgent.match(/Touch/i)!=无效的
函数onPlayerReady(事件){
如果(!(isTouchSupported | | isTouchSupportedIE10)){
//这不是一个移动设备,所以自动播放
event.target.playVideo();
}
}
函数onPlayerStateChange(事件){
如果(event.data==0){
$.fancybox.close();
}
}
函数onYouTubePlayerAPIReady(){
$(函数(){
如果($.cookie('welcome_video')){
//还不到三天
}否则{
//将cookie设置为3天后过期
$.cookie('welcome_video','true',{expires:3});
$(文档).ready(函数(){
$.fancybox.open({
href:“https://www.youtube.com/embed/qm1RjPM9E-g“,/*您的视频ID”*/
助手:{
媒体:{
youtube:{
参数:{
自动播放:1,
rel:0,
//控件:0,
showinfo:0,
自动隐藏:1,
}
}
},
按钮:{}
},
beforeShow:函数(){
var id=$.fancybox.inner.find('iframe').attr('id');
var玩家=新的YT玩家(id{
活动:{
onReady:onPlayerReady,
onStateChange:onPlayerStateChange
}
});
}
});//fancybox
});//准备好了吗
}//还有别的吗
});//用于cookie的函数
}//youtube API就绪
此处已回答: