From 0a7ea9f0b28120615c5e0764bd181d6189d1d26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Sat, 22 Sep 2018 16:45:44 +0200 Subject: [PATCH] Automatically assuming small player if in iframe --- server/public/assets/js/channel.js | 2 +- server/public/assets/js/functions.js | 8 ++++++++ server/public/assets/js/player.js | 8 ++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/server/public/assets/js/channel.js b/server/public/assets/js/channel.js index fb936a5a..548fa51d 100644 --- a/server/public/assets/js/channel.js +++ b/server/public/assets/js/channel.js @@ -1,6 +1,6 @@ var Channel = { init: function() { - if(window.location.hash == "#small") { + if(window.location.hash == "#small" || inIframe()) { small_player = true; document.querySelector("footer").style.display = "none"; } diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index efe000ba..ec580b70 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -354,6 +354,14 @@ function contextListener(that, event) { } } +function inIframe () { + try { + return window.self !== window.top; + } catch (e) { + return true; + } +} + function mouseContext(left, top) { var moveFunction = function( event ) { if(event.pageX < left - 60 || event.pageX > left + document.querySelector(".context-menu-root").offsetWidth + 60 || diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index 1eeaf777..7f045803 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -120,7 +120,9 @@ var Player = { Helper.log(["video_id variable: " + video_id]); switch(newState.data) { case YT.PlayerState.UNSTARTED: - Helper.css("#player", "opacity", "1"); + if(small_player) { + Helper.css("#player", "opacity", "1"); + } break; case YT.PlayerState.ENDED: playing = false; @@ -221,7 +223,9 @@ var Player = { case YT.PlayerState.BUFFERING: //was_stopped = false; buffering = true; - Helper.css("#player", "opacity", "1"); + if(small_player) { + Helper.css("#player", "opacity", "1"); + } resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING); break; }