Script contains features like auto best quality choose and some hotkeys for CDA.pl website.
当前为
// ==UserScript==
// @name CDA.pl Enhancer
// @name:pl Ulepszenia dla odtwarzania filmów na stronie CDA.pl
// @namespace http://tampermonkey.net/
// @version 0.2.1
// @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
// @match https://www.cda.pl/video/*
// @grant none
// ==/UserScript==
/*jshint esversion: 6 */
(function() {
'use strict';
let config = {
bestQualityAutoSet: true,
bestQualityEnable: true,
hotkeysEnable: true,
hotkeys: {
fullscreen: 'f',
mute: 'm'
}
}
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.bestQualityEnable) {
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.hotkeysEnable) {
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;
}
})();