// ==UserScript== // @name pobieracz cda.pl // @namespace https://greasyfork.org/pl/users/389583-adrian080 // @version 0.1 // @description Stara się umożliwić pobranie wideo, obejrzenie osobno i skopiowanie linku. // @author Adrian080 // @license GNU GPLv3 // @include *cda.pl/video* // @icon http://scdn2.cda.pl/img/icon/fav/favicon.ico // @run-at document-end // @grant GM_download // @grant GM_setClipboard // @grant GM_notification // @downloadURL none // ==/UserScript== /*jshint esversion: 6 */ let style = document.createElement('style'); style.innerHTML = '#downloaderButton{background-color:rgba(0,0,0,50%);border-radius:100%;font-size:1rem;padding:0.3rem;position: absolute;top:4px;left:4px;cursor: pointer;z-index: 69690;line-height: normal !important;transition: all 250ms}#downloaderButton:hover{transform: scale(1.2,1.2)}@keyframes popup-box{from{opacity: 0;top: -20rem}to{opacity: 1;top: 0}}@keyframes popup-box-bg{from{background:rgba(0, 0, 0, 0)}to{background:rgba(0, 0, 0, 0.5)}}#popup-box{line-height: normal !important;animation-name: popup-box-bg;animation-duration: 0.8s;font-size: 120%;color: white;display: none;align-items: center;justify-content: center;background: rgba(0, 0, 0, 0.5);width: 100%;height: 100%;position: fixed;text-align: center;top: 0;left: 0;z-index: 69691}#popup-box > div{animation-name: popup-box;animation-duration: 0.8s;background-color: #323232;box-shadow: 0rem 0rem 1.5rem 0.3rem rgb(150, 150, 150);height: auto;max-width: 50%;vertical-align: middle;position: relative;border-radius: 1rem;padding: 1.5rem}#popup-box #title{color: #0090FF;font-size: 1.5rem;font-weight: bold}#popup-box #current-quality{font-size: 1.5rem;color: #00A0FF}#popup-box .buttons-container{width: 60%;margin: 0 auto}#popup-box button{display: block;width: 100%;margin: 0.4rem;padding: 0.4rem;color: white;background-color: #0069FF;border: none;border-radius: 0.4rem;transition: all 250ms}#popup-box button:hover{background-color: #0055FF;transform: scale(1.05,1.1)}#popup-close-button{background-color: #1e1e1e;border-radius: 100%;display: inline-block;font-family: arial;font-weight: bolder;position: absolute;top: -1rem;right: -1rem;font-size: 2rem;padding: 0 0.6rem;cursor: pointer}#popup-close-button:hover{background-color: rgb(0, 14, 54)}'; document.getElementsByTagName('head')[0].appendChild(style); let mainButton = document.createElement("span"); mainButton.setAttribute("id", "downloaderButton"); mainButton.innerHTML = "🎥"; document.getElementsByClassName("pb-player-html-wrapper")[0].appendChild(mainButton); let popUp = document.createElement("div"); popUp.setAttribute("id","popup-box"); popUp.innerHTML = '
Ładowanie...

Obecnie wybrana jakość wideo:

(ustawia się w odtwarzaczu)

'; document.getElementsByClassName("pb-player-html-wrapper")[0].appendChild(popUp); let popupBox = document.getElementById("popup-box"); let popupContent = document.querySelector("#popup-box div"); let popupClose = document.getElementById("popup-close-button"); let currentQuality = document.getElementById("current-quality"); let title = document.getElementById("title"); let download = document.getElementById("download-btn"); let copy = document.getElementById("copy-btn"); let openTab = document.getElementById("open-tab-btn"); let videoUrl; let videoTitle; let videoThumb; let playerData; mainButton.addEventListener("click", ()=>{ popupBox.style.display = "flex"; playerData = document.getElementsByClassName("brdPlayer brndPlayerPd")[0].firstElementChild.getAttribute("player_data"); playerData = JSON.parse(playerData); videoTitle = decodeURI(playerData.video.title); videoUrl = document.querySelector("video.pb-video-player").getAttribute("src"); videoThumb = "https:"+playerData.video.thumb; videoThumb = videoThumb.substring(0, videoThumb.search("_ooooxooxox_")+12)+"160x90.jpg"; currentQuality.innerHTML = document.getElementsByClassName("pb pb-quality-txt")[0].innerHTML; title.innerHTML = videoTitle; }); popupBox.addEventListener("click", ()=>{ if(!popupContent.matches(":hover") || popupClose.matches(":hover")){ popupBox.style.display = "none"; } }); download.addEventListener("click", ()=>{ GM_download(videoUrl, videoTitle); }); copy.addEventListener("click", ()=>{ GM_setClipboard(videoUrl); GM_notification({title: "Skopiowano do schowka!", text: "Link do filmu został skopiowany do twojego schowka :D", image: videoThumb,timeout: 6000}); }); openTab.addEventListener("click", ()=>{ window.open(videoUrl, "_blank").focus(); });