youtube-shorts-disabler/disable_shorts.js

48 lines
1.5 KiB
JavaScript

(function()
{
var disable_shorts = function()
{
// Redirect away from shorts videos
if (location.href.indexOf("/shorts/") != -1)
location.href = "https://www.youtube.com/watch?v=" + location.pathname.split("/")[2];
// Classes and tags to remove from the page
var removeTags = [
"ytd-rich-shelf-renderer",
"ytd-reel-shelf-renderer",
"ytd-inline-survey-renderer",
"yt-mealbar-promo-renderer",
"ytd-inline-survey-renderer",
"ytd-feed-nudge-renderer"
];
var removeClasses = [
"ytd-statement-banner-renderer",
"ytd-brand-video-shelf-renderer",
"ytd-primetime-promo-renderer",
"ytd-brand-video-singleton-renderer"
];
for (var i = 0; i < removeTags.length; i++) {
var tags = document.getElementsByTagName(removeTags[i]);
for (var j = 0; j < tags.length; j++)
tags[j].remove();
}
for (var i = 0; i < removeClasses.length; i++) {
var classes = document.getElementsByClassName(removeClasses[i]);
for (var j = 0; j < classes.length; j++)
classes[j].remove();
}
// Turn any other shorts links into regular links
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (links[i].href.indexOf("/shorts/") != -1)
links[i].href = "https://www.youtube.com/watch?v=" + links[i].href.split("/")[4];
}
};
window.addEventListener("load", disable_shorts, false);
var observer = new MutationObserver(disable_shorts);
observer.observe(document.body, {subtree: true, childList: true});
})();