90 lines
2.7 KiB
JavaScript
90 lines
2.7 KiB
JavaScript
// ==UserScript==
|
|
// @name DLF download button
|
|
// @description Adds a download button for each audio file on DLF sites.
|
|
// @description:de Fügt einen download-button für jede audio-datei auf DLF-seiten hinzu.
|
|
// @version 2019.07.04.1
|
|
// @author tastytea
|
|
// @copyright 2019, tastytea (https://tastytea.de/)
|
|
// @license GPL-3.0-only
|
|
// @namespace tastytea.de
|
|
// @homepageURL https://schlomp.space/tastytea/userscripts
|
|
// @supportURL https://schlomp.space/tastytea/userscripts/issues
|
|
// @downloadURL https://schlomp.space/tastytea/userscripts/raw/branch/main/audio/dlf_download_button.user.js
|
|
// @grant none
|
|
// @match https://*.deutschlandradio.de/*
|
|
// @match https://*.deutschlandfunkkultur.de/*
|
|
// @match https://*.deutschlandfunknova.de/*
|
|
// @run-at document-end
|
|
// @inject-into content
|
|
// ==/UserScript==
|
|
|
|
function main()
|
|
{
|
|
// deutschlandradio.de, deutschlandfunkkultur.de
|
|
let root = document.getElementsByClassName("player-embed")[0];
|
|
if (root !== undefined)
|
|
{
|
|
add_button(root.getAttribute("data-audio-src"));
|
|
return;
|
|
}
|
|
|
|
// deutschlandfunknova.de
|
|
root = document.getElementsByClassName("button--play")[0];
|
|
if (root !== undefined)
|
|
{
|
|
add_button(root.getAttribute("data-mp3"));
|
|
return;
|
|
}
|
|
|
|
console.warn("Could not find player / download-button element.");
|
|
}
|
|
|
|
function add_button(url)
|
|
{
|
|
const button = document.createElement("a");
|
|
button.setAttribute("id", "tastytea_downloadbutton");
|
|
button.setAttribute("href", url);
|
|
button.appendChild(document.createTextNode("Download"));
|
|
|
|
// Change appearance based on site.
|
|
if (window.location.href.search("deutschlandradio.de"))
|
|
{
|
|
button.style.fontSize = "150%";
|
|
button.style.fontWeight = "bold";
|
|
button.style.color = "black";
|
|
}
|
|
else if (window.location.href.search("deutschlandfunkkultur.de"))
|
|
{
|
|
button.setAttribute("class", "drk-articleplay");
|
|
}
|
|
button.style.textDecoration = "underline";
|
|
|
|
// deutschlandradio.de
|
|
let root = document.getElementsByClassName("div-top-sub-container")[0];
|
|
if (root !== undefined)
|
|
{
|
|
root.appendChild(button);
|
|
return;
|
|
}
|
|
|
|
// deutschlandfunkkultur.de
|
|
root = document.getElementsByClassName("drk-articleplay")[0];
|
|
if (root !== undefined)
|
|
{
|
|
root.parentElement.insertBefore(button, root);
|
|
return;
|
|
}
|
|
|
|
// deutschlandfunknova.de
|
|
root = document.getElementsByClassName("meta__share")[0];
|
|
if (root !== undefined)
|
|
{
|
|
root.parentElement.insertBefore(button, root);
|
|
return;
|
|
}
|
|
|
|
console.warn("Could not find root element.");
|
|
}
|
|
|
|
main();
|