Script contains features like auto best quality choose and some hotkeys for CDA.pl website.
Verzia zo dňa
// ==UserScript==
// @name CDA.pl Enhancer
// @name:pl Ulepszenia dla odtwarzania filmów na stronie CDA.pl
// @require https://greatest.deepsurf.us/scripts/395037-monkeyconfig-modern/code/MonkeyConfig%20Modern.js?version=764968
// @namespace http://tampermonkey.net/
// @version 0.3
// @description Script contains features like auto best quality choose and some hotkeys for CDA.pl website.
// @description:pl Skrypt zawiera właściwości takie jak wybór najlepszej jakości filmu oraz kilka skrótów klawiszowych dla strony CDA.pl
// @author DaveIT
// @icon http://free-images.ct8.pl/greasyfork/cda-enhancer.ico
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_addStyle
// @grant GM_registerMenuCommand
// @match https://www.cda.pl/video/*
// ==/UserScript==
/*jshint esversion: 6 */
(function() {
'use strict';
let cfg = new MonkeyConfig({
title: 'CDA.pl Enhancer Configuration',
menuCommand: true,
params: {
best_quality_auto_set: {
type: 'checkbox',
default: true
},
best_quality_suggestions: {
type: 'checkbox',
default: true
},
hotkeys_enabled: {
type: 'checkbox',
default: true
},
mute_hotkey: {
type: 'text',
default: 'm'
},
fullscreen_hotkey: {
type: 'text',
default: 'f'
}
}
})
let config = {
bestQualityAutoSet: cfg.get('best_quality_auto_set'),
bestQualitySuggestions: cfg.get('best_quality_suggestions'),
hotkeysEnabled: cfg.get('hotkeys_enabled'),
hotkeys: {
fullscreen: cfg.get('fullscreen_hotkey'),
mute: cfg.get('mute_hotkey')
}
}
if(config.bestQualityAutoSet) {
let buttons = document.querySelectorAll('.quality-btn');
if(buttons.length > 0) {
let lastButton = buttons[buttons.length - 1];
if(lastButton.text == 'Premium') {
lastButton = buttons[buttons.length - 2];
}
if(!lastButton.className.includes('quality-btn-active')) {
lastButton.click();
}
}
}
if(config.bestQualitySuggestions) {
let hdIconElement = document.querySelector('#rightCol > label > div > a > span.hd-ico-elem.hd-elem-pos');
let hdIconElements = document.querySelectorAll('#podobne_kafle > div > label > div > a > span.hd-ico-elem.hd-elem-pos');
setHdLinks(hdIconElement);
for(let element of hdIconElements) {
setHdLinks(element);
}
}
if(config.hotkeysEnabled) {
document.onkeypress = (e) => {
switch(e.key) {
case config.hotkeys.fullscreen:
document.querySelector('.pb-fullscreen').click();
break;
case config.hotkeys.mute:
document.querySelector('.pb-volume-mute').click();
break;
}
}
}
function setHdLinks(element) {
let hdVersion = element.innerText;
let nextVideoPictureElement = element.parentElement;
let nextVideoTitleElement = element.parentElement.parentElement.children[1].children[1];
let link = nextVideoPictureElement.href + '?wersja=' + hdVersion;
nextVideoPictureElement.href = link;
nextVideoTitleElement.href = link;
}
})();