Compare commits
No commits in common. "d73968c5ed28fd1ef6aad55260d96c46602f57f5" and "6b6128484968272c6908ad1b2a67cb16bd4aead5" have entirely different histories.
d73968c5ed
...
6b61284849
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Turn off Youtube Autoplay
|
// @name Turn off Youtube Autoplay
|
||||||
// @namespace https://bubbletea.dev/
|
// @namespace https://bubbletea.dev/
|
||||||
// @version 2.1.0
|
// @version 2.0
|
||||||
// @description Disables Youtube recommended videos from automatically playing
|
// @description Disables Youtube recommended videos from automatically playing
|
||||||
// @author shibao
|
// @author shibao
|
||||||
// @include https://www.youtube.com/watch*
|
// @include https://www.youtube.com/watch*
|
||||||
@ -13,47 +13,49 @@
|
|||||||
// from https://developer.mozilla.org/en-US/docs/Web/API/Node#recurse_through_child_nodes
|
// from https://developer.mozilla.org/en-US/docs/Web/API/Node#recurse_through_child_nodes
|
||||||
function eachNode(rootNode, callback) {
|
function eachNode(rootNode, callback) {
|
||||||
if (!callback) {
|
if (!callback) {
|
||||||
const nodes = [];
|
const nodes = []
|
||||||
eachNode(rootNode, function (node) {
|
eachNode(rootNode, function (node) {
|
||||||
nodes.push(node);
|
nodes.push(node)
|
||||||
});
|
})
|
||||||
return nodes;
|
return nodes
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false === callback(rootNode)) {
|
if (false === callback(rootNode)) {
|
||||||
return false;
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rootNode.hasChildNodes()) {
|
if (rootNode.hasChildNodes()) {
|
||||||
const nodes = rootNode.childNodes;
|
const nodes = rootNode.childNodes
|
||||||
for (let i = 0, l = nodes.length; i < l; ++i) {
|
for (let i = 0, l = nodes.length; i < l; ++i) {
|
||||||
if (false === eachNode(nodes[i], callback)) {
|
if (false === eachNode(nodes[i], callback)) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
"use strict";
|
'use strict';
|
||||||
|
|
||||||
const observer = new MutationObserver(function (mutationList) {
|
const observer = new MutationObserver(function (mutationList) {
|
||||||
for (const mutation of mutationList) {
|
for (const mutation of mutationList) {
|
||||||
for (const addedNode of mutation.addedNodes) {
|
for (const addedNode of mutation.addedNodes) {
|
||||||
// recurses through all child nodes as well
|
// recurses through all child nodes as well
|
||||||
eachNode(addedNode, function (node) {
|
eachNode(addedNode, function (node) {
|
||||||
node.nodeName == "DIV" &&
|
if (node.nodeName == 'DIV' &&
|
||||||
node.classList.contains("ytp-autonav-toggle-button") &&
|
node.classList.contains('ytp-autonav-toggle-button') &&
|
||||||
node.getAttribute("aria-checked") == "true" &&
|
node.getAttribute('aria-checked') == "true") {
|
||||||
node.click();
|
const button = node.closest("button");
|
||||||
|
if (button) { setTimeout(() => button.click(), 1000); }
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
observer.observe(document, {
|
observer.observe(document, {
|
||||||
childList: true,
|
childList: true,
|
||||||
subtree: true,
|
subtree: true,
|
||||||
attributes: true,
|
attributes: true
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
Loading…
Reference in New Issue
Block a user