my weaveのように、YouTube動画を動的に再生/一時停止する方法は既に知っています。FancyBoxのUnfocusedウィンドウからYouTube動画を動的に一時停止する
しかし、私はonBlurを使ってFancyBoxで動的に動作させるのが難しいです(ウィンドウがフォーカスされていないときは、ビデオを一時停止する必要があります)。あなたが唯一のぼかしの動画を一時停止しているhttp://codepen.io/anon/pen/wJXoJy?editors=0010
// Show Lightbox Video Onload
$.fancybox.open({
youtube : {
controls : 0,
showinfo : 0
},
src : '//www.youtube.com/embed/-AszZcClVXA?enablejsapi=1', // Source of the content
type : 'iframe', // Content type: image|inline|ajax|iframe|html (optional)
});
// Inject YouTube API script
var tag = document.createElement('script');
tag.src = "//www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady(e) {
// create the global player from the specific iframe (#video)
player = new YT.Player($(".fancybox-iframe").attr("id"), {
events: {
// call this function when player is ready to use
'onReady': onPlayerReady
}
});
}
function onPlayerReady() {
window.addEventListener("blur", function() {
player.pauseVideo();
});
}
<link rel="stylesheet" href="//www.fancyapps.com/fancybox/3/fancybox/jquery.fancybox.min.css?v=1490320405" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//www.fancyapps.com/fancybox/3/fancybox/jquery.fancybox.min.js?v=1490320405"></script>
これはAndroidアプリケーションのために行われているため、Googleのポリシーに違反して電話がロックされているときに動画が再生されるためです。私は 'document.addEventListener(" pause ")'を使ってみましたが、そのように動作しませんでした。問題はFancyBoxで動的に動作するようにすることです。 –
これはモバイル専用ですか? – nraduka
私はこの問題がFancyBoxで動的に動作するようになっていると言いました。私はここでwindow.onblurを使用していますので、デスクトップで解決する方が速くなります。私がFancyBoxでonblurを使って一時停止させる方法を理解できれば、一時停止イベントリスナを使ってPhoneGapで動作させることができます –