Complete remake & Added redirect
This commit is contained in:
parent
ad69d761ad
commit
e0a1d57ad9
3 changed files with 44 additions and 36 deletions
47
Content.js
47
Content.js
|
@ -1,38 +1,25 @@
|
||||||
|
|
||||||
function removeShortButtons(){
|
const observer = new MutationObserver(mutations => {
|
||||||
const shortsButtons = document.querySelectorAll('a[title="Shorts"]');
|
mutations.forEach(mutation => {
|
||||||
|
mutation.addedNodes.forEach(node => {
|
||||||
|
if (node.nodeType !== Node.ELEMENT_NODE) return;
|
||||||
|
|
||||||
shortsButtons.forEach(button => {
|
// Remove shorts from sidebar
|
||||||
button.remove();
|
if (node.tagName === "A" && node.title === "Shorts"){
|
||||||
});
|
node.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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (section.className == "style-scope ytd-rich-shelf-renderer") {
|
// Remove shorts sections from right side
|
||||||
section.style.display = "none";
|
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) {
|
observer.observe(document.body, {childList: true, subtree: true});
|
||||||
removeShortButtons();
|
|
||||||
removeShortSections();
|
|
||||||
});
|
|
||||||
observer.observe(document.body, { childList: true, subtree: true });
|
|
||||||
|
|
7
Redirect.js
Normal file
7
Redirect.js
Normal 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}");
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 3,
|
||||||
"name": "Block Youtube Shorts",
|
"name": "Remove Youtube Shorts",
|
||||||
"description": "Blocks the Youtube Short buttons and sections on the main page.",
|
"description": "Removes any trace of Shorts from Youtube.",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icon16.png",
|
"16": "icon16.png",
|
||||||
|
@ -9,11 +9,25 @@
|
||||||
"48": "icon48.png",
|
"48": "icon48.png",
|
||||||
"128": "icon128.png"
|
"128": "icon128.png"
|
||||||
},
|
},
|
||||||
|
"permissions": ["scripting"],
|
||||||
"host_permissions": ["*://www.youtube.com/*"],
|
"host_permissions": ["*://www.youtube.com/*"],
|
||||||
"content_scripts": [
|
"content_scripts": [
|
||||||
{
|
{
|
||||||
"matches": ["*://www.youtube.com/*"],
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue