Replaces media embed tags with HTML5 equivalents
Fra
// ==UserScript==
// @name Embed to HTML5
// @namespace DoomTay
// @description Replaces media embed tags with HTML5 equivalents
// @version 1.0.3
// @exclude *.svg
// @grant none
// ==/UserScript==
var embeds = document.embeds;
var audioFiletypes = [".mp3",".wav",".ogg"];
var videoFiletypes = [".mp4"];
if(embeds.length > 0)
{
for(var e = embeds.length - 1; e >= 0; e--)
{
if(audioFiletypes.some(elem => embeds[e].src.includes(elem))) var replacement = document.createElement("audio");
else if(videoFiletypes.some(elem => embeds[e].src.includes(elem))) var replacement = document.createElement("video");
else continue;
replacement.src = decodeURIComponent(embeds[e].src);
replacement.width = embeds[e].width;
replacement.height = embeds[e].height;
if(embeds[e].hidden) replacement.style.display = "none";
replacement.autoplay = parseBool(embeds[e].getAttribute("autostart") || embeds[e].getAttribute("autoplay")) || audioFiletypes.some(elem => window.location.href.includes(elem));
replacement.controls = parseBool(embeds[e].getAttribute("controller"));
replacement.loop = parseBool(embeds[e].getAttribute("loop"));
if(embeds[e].parentNode.nodeName == "OBJECT")
{
embeds[e].parentNode.parentNode.replaceChild(replacement, embeds[e].parentNode);
}
else
{
embeds[e].parentNode.replaceChild(replacement, embeds[e]);
}
}
}
function getBitrate(media)
{
console.log(media);
return 44;
}
function parseBool(string)
{
return string == "true";
}