Complete remake & Added redirect

This commit is contained in:
Patrick Schwarzer 2025-05-13 23:44:14 +02:00
parent ad69d761ad
commit e0a1d57ad9
3 changed files with 44 additions and 36 deletions

View file

@ -1,38 +1,25 @@
function removeShortButtons(){
const shortsButtons = document.querySelectorAll('a[title="Shorts"]');
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.nodeType !== Node.ELEMENT_NODE) return;
shortsButtons.forEach(button => {
button.remove();
});
}
function removeShortSections(){
const sections = document.querySelectorAll("span#title.style-scope.ytd-rich-shelf-renderer");
sections.forEach(title => {
if (title.textContent.trim() === "Shorts") {
var section = title;
for (let i = 1; i < 7; i++) {
section = section.parentElement;
if (!section){
return;
}
// Remove shorts from sidebar
if (node.tagName === "A" && node.title === "Shorts"){
node.remove();
}
if (section.className == "style-scope ytd-rich-shelf-renderer") {
section.style.display = "none";
// Remove shorts sections from right side
if (node.nodeName.toLowerCase() === "ytd-reel-shelf-renderer"){
node.remove();
}
}
// Remove shorts sections
if (node.hasAttribute?.("is-shorts")){
node.remove();
}
});
});
}
document.addEventListener("DOMContentLoaded", function () {
removeShortButtons();
removeShortSections();
});
const observer = new MutationObserver(function (mutations) {
removeShortButtons();
removeShortSections();
});
observer.observe(document.body, { childList: true, subtree: true });
observer.observe(document.body, {childList: true, subtree: true});

7
Redirect.js Normal file
View file

@ -0,0 +1,7 @@
if (location.pathname.startsWith("/shorts/")) {
const videoID = location.pathname.split("/")[2];
if (videoID) {
location.replace("https://www.youtube.com/watch?v=${videoID}");
}
}

View file

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "Block Youtube Shorts",
"description": "Blocks the Youtube Short buttons and sections on the main page.",
"manifest_version": 3,
"name": "Remove Youtube Shorts",
"description": "Removes any trace of Shorts from Youtube.",
"version": "1.0",
"icons": {
"16": "icon16.png",
@ -9,11 +9,25 @@
"48": "icon48.png",
"128": "icon128.png"
},
"permissions": ["scripting"],
"host_permissions": ["*://www.youtube.com/*"],
"content_scripts": [
{
"matches": ["*://www.youtube.com/*"],
"js": ["Content.js"]
"js": ["Content.js"],
"run_at": "document_idle"
},
{
"matches": ["*://www.youtube.com/*"],
"js": ["Redirect.js"],
"run_at": "document_start"
}
]
],
"action": {
"default_icon": {
"16": "icon16.png",
"32": "icon32.png"
}
}
}