Greasy Fork is available in English.
02/06/2021, 16:35:12
当前为
// ==UserScript==
// @name New script - bet365.com
// @namespace Violentmonkey Scripts
// @match https://www.bet365.com/
// @grant none
// @version 1.0
// @author powlo
// @description 02/06/2021, 16:35:12
// @require https://cdn.jsdelivr.net/npm/@violentmonkey/dom@1
// ==/UserScript==
VM.observe(document.body, () => {
function makeSmallScreen(e) {
// Does the inverse of makeFullScreen. Puts element back where it was and restores header.
const header = document.querySelector('.wc-WebConsoleModule_Header');
const mediaPlayer = document.querySelector('.lv-LiveVideoView_MediaPlayerInnerWrapper');
const mediaPlayerContainer = document.querySelector('.lv-LiveVideoView_MediaPlayerOuterWrapper');
const floatButton = document.querySelector('.fpm-FloatableMediaPlayerControls_Float');
const unFloatContainer = document.querySelector('.fpm-FloatingMediaPlayerControls_UnfloatContainer');
header.style.display = 'block';
mediaPlayer.style.zIndex = null;
mediaPlayerContainer.appendChild(mediaPlayer);
floatButton.style.display = 'block';
unFloatContainer.style.display = 'none';
}
function makeBigScreen(e) {
// Event handlers are on document.body. Stop them from being reached.
e.stopPropagation();
const header = document.querySelector('.wc-WebConsoleModule_Header ');
const floatButton = document.querySelector('.fpm-FloatableMediaPlayerControls_Float');
const unFloatContainer = document.querySelector('.fpm-FloatingMediaPlayerControls_UnfloatContainer');
const bottomBar = document.querySelector('.fpm-FloatableMediaPlayerControls_BottomBar');
const mediaPlayer = document.querySelector('.lv-LiveVideoView_MediaPlayerInnerWrapper');
mediaPlayer.style.zIndex = '100';
document.body.appendChild(mediaPlayer);
header.style.display = 'none';
// maybe use event target?
floatButton.style.display = 'none';
unFloatContainer.style.display = 'block';
}
const formControl = document.querySelector('.fpm-ControlsOverlay');
if (formControl){
const floatButton = document.querySelector('.fpm-FloatableMediaPlayerControls_Float');
const bottomBar = document.querySelector('.fpm-FloatableMediaPlayerControls_BottomBar');
floatButton.addEventListener('click', makeBigScreen);
// We have to manually construct the unfloat button because we disabled the event propagation above.
// Create it then hide it so it can be 'switched on' in later code.
const unFloatContainer = document.createElement('div');
unFloatContainer.classList.add('fpm-FloatingMediaPlayerControls_UnfloatContainer');
bottomBar.prepend(unFloatContainer);
const unFloatButton = document.createElement('div');
unFloatButton.classList.add('fpm-FloatingMediaPlayerControls_Unfloat', 'fpm-FloatingMediaPlayerControls_Unfloat-enabled');
unFloatButton.style.backgroundColor = 'unset';
unFloatButton.style.borderRadius = 'unset';
unFloatContainer.appendChild(unFloatButton);
unFloatButton.addEventListener('click', makeSmallScreen);
unFloatContainer.style.display = 'none';
return true;
}
});