Ilya Laktyushin 20911e9173 no message
2017-08-17 00:09:54 +03:00

110 lines
3.2 KiB
JavaScript

var video;
function hidePlayButton() {
var css = 'video::-webkit-media-controls { display: none !important } video::--webkit-media-controls-play-button { display: none !important; -webkit-appearance: none; } video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }',
head = document.head || document.getElementsByTagName('head')[0],
style = document.createElement('style');
style.type = 'text/css';
if (style.styleSheet){
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
}
function fixPlayer() {
var controls = document.getElementsByClassName('player-controls-bottom')[0];
if (controls == null) {
controls = document.getElementsByClassName('player-overlay-container')[0];
}
if (controls != null) {
controls.style.display = 'none';
}
var topBar = document.getElementById('top-bar');
if (topBar == null) {
topBar = document.getElementsByClassName('player-controls-top')[0];
}
if (topBar != null) {
topBar.style.display = 'none';
}
var pauseOverlay = document.getElementsByClassName('player-play-overlay')[0];
if (pauseOverlay == null) {
pauseOverlay = document.getElementsByClassName('player-controls-bottom')[0];
}
if (pauseOverlay != null) {
pauseOverlay.style.display = 'none';
}
var statusOverlay = document.getElementsByClassName('player-streamstatus')[0];
if (statusOverlay != null) {
statusOverlay.style.right = undefined;
statusOverlay.style.left = '0px';
statusOverlay.style.padding = '1.5em 1.5em 5.5em 2.5em';
}
var video = document.getElementsByTagName('video')[0];
video.setAttribute('webkit-playsinline', '');
video.setAttribute('playsinline', '');
video.webkitEnterFullscreen = undefined;
video.addEventListener("playing", onPlaybackStart, false);
video.play();
hidePlayButton();
}
function onPlaybackStart() {
window.parent.postMessage('playbackStarted', '*');
}
function switchToPIP() {
var video = document.getElementsByTagName('video')[0];
video.webkitSetPresentationMode('picture-in-picture');
}
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
function play() {
var playButton = document.getElementsByClassName('js-control-playpause-button')[0];
if (playButton == null) {
playButton = document.getElementsByClassName('player-button--playpause')[0];
}
eventFire(playButton, 'click');
}
function receiveMessage(evt) {
if ((typeof evt.data) != 'string')
return;
try {
var obj = JSON.parse(evt.data);
if (!obj.event || obj.event != 'inject')
return;
if (obj.cmd == 'fixPlayer')
fixPlayer();
else if (obj.cmd == 'play')
play();
else if (obj.cmd == 'switchToPIP')
switchToPIP();
} catch (ex) { }
}
window.addEventListener('message', receiveMessage, false);