Фикс для Rutube
Надоело мне в общем пользоваться ползунком во встроенном плеере. Ловите фикс.
Установите себе в браузер расширение Tampermonkey потом в настройках нажмите плюсик для добавления нового скрипта, вставьте его и сохраните. Затем обновите страницу Пикабу. Готово.
Этот скрипт просто меняет размер поля для мышки и убирает кнопку рекомендации во время паузы.
П.С. Зачем разрабы сделали не активное поле при появлении кнопки "Рекомендации" вопрос открытый.
// ==UserScript==
// @name Rutube Fix
// @VERSION 1
// @Description try to take over the usability!
// @Author Manium: Rutube devs doesnt care about usability or they just dont use it at all
// @run-at document-idle
// @match http://rutube.ru/play/embed/*
// @match https://rutube.ru/play/embed/*
// @icon https://static.rutube.ru/static/img/favicon-icons/icon_192x1...
// @GrAnt none
// ==/UserScript==
(function() {
'use strict';
let selectorRaichuContainerWithPlayer = "#raichuContainerWithPlayer";
let selectorRaichuAreaBarWrapper = '[ class^="raichu-areas-bar-module__wrapper" ]';
let selectorRaichuSliderDot = '[ class^="raichu-areas-bar-module__thumbWrapper" ]';
let selectorRaichuRecomendationsButton = '[ class^="raichu-text-button-module__textButton" ]';
let elmWaiting = false;
// https://stackoverflow.com/questions/5525071/how-to-wait-unti...
function waitForElmFromSource(source, selector) {
return new Promise(resolve => {
if (source.querySelector(selector)) {
return resolve(source.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (source.querySelector(selector)) {
observer.disconnect();
resolve(source.querySelector(selector));
}
});
observer.observe(source, {
childList: true,
subtree: true
});
});
}
waitForElmFromSource(document, selectorRaichuContainerWithPlayer).then((mainElm) => {
waitForElmFromSource(mainElm, selectorRaichuAreaBarWrapper).then((elmAreaBar) => {
elmAreaBar.style.setProperty("height", "40px");
elmAreaBar.querySelector(selectorRaichuSliderDot).style.setProperty("top", "auto");
});
mainElm.addEventListener("click", function (e) {
if (!elmWaiting) {
elmWaiting = true;
waitForElmFromSource(mainElm, selectorRaichuRecomendationsButton).then((elmRecomendations) => {
elmRecomendations.style.setProperty("display", "none");
elmWaiting = false;
});
}
});
});
})();



















