Inject HTML mit JavaScript nur top level element angezeigt?

Ich möchte einen Download Button in Youtube einfügen, der ein XML-Get Request an meinen Download-Server schickt und das Video herunterlädt. Der Einfachheit halber will ich den schon vorhandenen YT-Download Button nutzen. Dazu hole ich mir das Element aus dem Dokument und entferne das "is-hidden" Attribut. Soweit alles gut, das Element wird angezeigt. Auch wenn ich einen EventListener für den Request hinzufüge ist noch alles in Ordnung. Nur der bestehende YT-Eventlistener zeigt einen Fehler an, dass Downloads nicht aktiviert sind bei meinem Account. Und um den zu entfernen habe ich das Element geclont und ersetzt, leider wird nur das äußerste Html-Element eingefügt, die inneren Elemente gehen verloren. Das gleiche Problem habe ich bei innerHtml. Alles was verschachtelt ist wird nicht eingefügt.

Mein Code:

var downloadIntegrated = document.querySelector(
          "ytd-download-button-renderer"
);
downloadIntegrated.removeAttribute("is-hidden");

downloadIntegrated = downloadIntegrated.replaceWith(
      downloadIntegrated.cloneNode(true)
);
downloadIntegrated.onclick = function () {
      downloadURL(currentURL);
      return false;
};

Der Originale Button:

<ytd-download-button-renderer class="style-scope ytd-menu-renderer style-default size-default force-icon-button" use-keyboard-focused="" is-hidden="" button-renderer="true" style-action-button="" is-icon-button=""><a class="yt-simple-endpoint style-scope ytd-download-button-renderer" tabindex="-1"><yt-icon-button id="button" class="style-scope ytd-download-button-renderer style-default size-default" touch-feedback=""><!--css-build:shady--><button id="button" class="style-scope yt-icon-button" aria-label="Herunterladen"><yt-icon class="style-scope ytd-download-button-renderer"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope yt-icon"><path d="M17 18V19H6V18H17ZM16.5 11.4L15.8 10.7L12 14.4V4H11V14.4L7.2 10.6L6.5 11.3L11.5 16.3L16.5 11.4Z" class="style-scope yt-icon"></path></g></svg><!--css-build:shady--></yt-icon></button><yt-interaction id="interaction" class="circular style-scope yt-icon-button"><!--css-build:shady--><div class="stroke style-scope yt-interaction"></div><div class="fill style-scope yt-interaction"></div></yt-interaction></yt-icon-button><yt-formatted-string id="text" class="style-scope ytd-download-button-renderer style-default size-default">Herunterladen</yt-formatted-string></a></ytd-download-button-renderer>

Der geclonte und eingefügte Button:

<ytd-download-button-renderer class="style-scope ytd-menu-renderer style-default size-default force-icon-button" use-keyboard-focused="" button-renderer="true" style-action-button="" is-icon-button=""></ytd-download-button-renderer>
Computer, YouTube, HTML, programmieren, JavaScript, injection
Youtube Music Shuffle-Funktion reparieren?

Die Zufallsmix (Shuffle) Funktion von YouTube Music ist, wohl oder übel, gekauft.

Der eigentliche Sinn einer Zufallsmix Funktion ist? - Ganz Genau! - Lieder zufällig wiedergeben.
Also eine Wiedergabeliste mit Liedern einer Playlist in zufälliger Reihenfolge erstellen.

Dummerweise hat YouTube Music Dies nicht ganz verstanden und bringt am Anfang immer die gleichen paar Songs. Auf den ersten Blick wirkt es zwar zufällig, ist es aber ganz und gar nicht. Würde mich ausserdem nicht wundern, wenn populäre Songs häufiger am Anfang stehen als andere.

Ich habe aber eine Playlist mit Liedern erstellt, die ich ALLE hören will. Jeder Song soll also die gleiche Chance haben.
Aufgrund dessen bin ich also nicht wirklich zufrieden mit dem Algorithmus von YouTube...Ist ja was ganz Neues...(haha)

In verschiedenen Foren gibt es Leute, die vom Gleichen berichten und bis jetzt keine Lösung gefunden haben. Ich weiss aber, dass es möglich ist eine Drittanbieter-Software von YouTube Music zu erstellen. Und ich bin mir sicher, dass man dort einen anderen Algorithmus für die Shuffle Funktion einbetten könnte...

Meine Frage ist also, ob sich jemand schon einmal damit auseinandergesetzt hat und da irgendetwas kennt?
Ideal wäre dabei eine Android-App, da ich dort am meisten Musik höre. Zu PC-Softwares sag ich aber nicht nein.

Aufgrund meiner grossen Playlist und den eher unbekannten Songs, ist es mir nicht möglich auf Spotify zu wechseln. Jede "Spotify-Antwort" wird also gekonnt ignoriert.

Danke also im Voraus für jede hilfreiche Antwort.

LG Lubi ^^

Bild zu Frage
Computer, Musik, Internet, Windows, YouTube, programmieren, shuffle, Android

Meistgelesene Fragen zum Thema YouTube