Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript youtube视频完成后关闭fancybox弹出窗口_Javascript_Jquery_Youtube_Youtube Api_Fancybox - Fatal编程技术网

Javascript youtube视频完成后关闭fancybox弹出窗口

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

我在页面加载时弹出了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="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&amp;fs=1&amp;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就绪
此处已回答: