-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontentScript.js
66 lines (56 loc) · 2.42 KB
/
contentScript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
let isToggled = false;
let settings = {
isToggled,
elements: {
items: false,
start: false,
guide: false,
end: false,
comments: false,
related: false,
center: false,
left_sidebar: false,
ytd_browse: false,
ytd_browse2: false,
player_end: false,
below: false
}
}
const applySettings = (storageSettings) => {
if (storageSettings.isToggled) blockContent(storageSettings);
else unblockContent(storageSettings);
}
const blockContent = (settings) => {
for (const element in settings.elements) {
if (settings.elements[element] === true) {
if (document.getElementById(element)) document.getElementById(element).style.display = 'none';
} else {
if (document.getElementById(element)) document.getElementById(element).style.display = '';
}
}
}
const unblockContent = (settings) => {
for (const element in settings.elements) {
if (settings.elements[element] === true) {
if (document.getElementById(element)) document.getElementById(element).style.display = '';
}
}
}
const onLoad = () => {
browser.storage.local.get(settings).then((storageSettings) => {
applySettings(storageSettings);
});
}
const callback = (mutationsList, observer) => {
for (const mutation of mutationsList) {
if (document.getElementsByTagName('ytd-mini-guide-renderer')[0] && document.getElementsByTagName('ytd-mini-guide-renderer')[0].id !== 'left_sidebar') document.getElementsByTagName('ytd-mini-guide-renderer')[0].id = 'left_sidebar';
if (document.getElementsByTagName('ytd-browse')[0] && (location.href === 'https://www.youtube.com/' || location.href.includes('https://www.youtube.com/?')) && document.getElementsByTagName('ytd-browse')[0].id !== 'main') document.getElementsByTagName('ytd-browse')[0].id = 'ytd_browse';
if (document.getElementsByTagName('ytd-browse')[1] && (location.href === 'https://www.youtube.com/' || location.href.includes('https://www.youtube.com/?')) && document.getElementsByTagName('ytd-browse')[1].id !== 'main2') document.getElementsByTagName('ytd-browse')[1].id = 'ytd_browse2';
if (document.getElementsByClassName('ytp-endscreen-content')[0] && document.getElementsByClassName('ytp-endscreen-content')[0].id !== 'player_end') document.getElementsByClassName('ytp-endscreen-content')[0].id = 'player_end';
onLoad();
}
};
browser.runtime.onMessage.addListener(applySettings);
const observer = new MutationObserver(callback);
observer.observe(document.body, { childList: true, subtree: true });
onLoad();