youtube视频结束后关闭fancybox弹出窗口
Close fancybox popup when youtube video finish
我在页面加载时用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&fs=1&autoplay=1"></a></p>
我报告这次讨论。
FancyBox和Youtube API事件
我没有练习过javascript,有人能帮我吗?
您需要在页面上有一个JS播放器的实例。然后你可以针对玩家的状态变化此处是您需要的信息链接。
您可以设置一个脚本,当您的状态达到时运行,该脚本将关闭弹出框。
这是Fancybox Youtube Cookie自动关闭自动弹出的完整脚本只需下载css中所需的图像,将它们放在根目录中的/fancybox文件夹中,并替换为您的视频id。真的可以完全测试。。。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-media.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css" media="screen" />
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="http://www.youtube.com/player_api"></script>
<script type="text/javascript">
// detect mobile devices features
var isTouchSupported = 'ontouchstart' in window,
isTouchSupportedIE10 = navigator.userAgent.match(/Touch/i) != null;
function onPlayerReady(event) {
if (!(isTouchSupported || isTouchSupportedIE10)) {
// this is NOT a mobile device so autoplay
event.target.playVideo();
}
}
function onPlayerStateChange(event) {
if (event.data === 0) {
$.fancybox.close();
}
}
function onYouTubePlayerAPIReady() {
$(function() {
if ($.cookie('welcome_video')) {
// it hasn't been three days yet
} else {
// set cookie to expire in 3 days
$.cookie('welcome_video', 'true', { expires: 3});
$(document).ready(function () {
$.fancybox.open({
href: "https://www.youtube.com/embed/qm1RjPM9E-g", /*YOUR VIDEO ID*/
helpers: {
media: {
youtube: {
params: {
autoplay: 1,
rel: 0,
// controls: 0,
showinfo: 0,
autohide: 1,
}
}
},
buttons: {}
},
beforeShow: function () {
var id = $.fancybox.inner.find('iframe').attr('id');
var player = new YT.Player(id, {
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
});
}
}); // fancybox
}); // ready
} // cookie else ready
}); // function for cookie
} // youtube API ready
</script>
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- fancybox将内容更改为模式窗口
- 我怎样才能加载带有fancybox弹出窗口的页面
- jCarouselLite和fancybox弹出窗口
- 在jquery fancybox中,ie 7没有显示ajax模式弹出窗口
- 通过嵌入客户端网站的Javascript显示JQuery和Fancybox的弹出窗口
- 在关闭浏览器窗口之前显示fancybox弹出窗口
- Fancybox-无法在Fancybox窗口中打开图像
- TinyMCE没有'无法在fancyBox弹出窗口中工作
- 单击按钮10秒后,fancybox打开窗口
- 如何添加href"关闭“;链接到Fancybox模式窗口
- Fancybox ajax重定向而不是显示弹出窗口
- 在iFrame中调用javascript函数,该iFrame以Fancybox弹出窗口打开
- Fancybox—从子Fancybox中设置父窗口的全局变量
- 禁用带有Cookie的Fancybox弹出窗口
- Fancybox要使用什么参数才能在自动大小的窗口中打开IFRAME
- youtube视频结束后关闭fancybox弹出窗口
- 从Fancybox弹出窗口中调用警报功能- iFrame和同源策略