turn into misskey-always-show-replies
This commit is contained in:
58
misskey-always-show-replies.user.js
Normal file
58
misskey-always-show-replies.user.js
Normal file
@ -0,0 +1,58 @@
|
||||
// ==UserScript==
|
||||
// @name Misskey Always Show Replies
|
||||
// @namespace https://bubbletea.dev/
|
||||
// @version 1.0
|
||||
// @description Automatically clicks the "Show replies" button on Misskey and misskey instances
|
||||
// @author shibao
|
||||
// @include /^https://.*misskey.*$/
|
||||
// @downloadURL https://gitea.bubbletea.dev/shibao/misskey-always-show-replies/raw/branch/stable/misskey-always-show-replies.user.js
|
||||
// @updateURL https://gitea.bubbletea.dev/shibao/misskey-always-show-replies/raw/branch/stable/misskey-always-show-replies.user.js
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
|
||||
// from https://developer.mozilla.org/en-US/docs/Web/API/Node#recurse_through_child_nodes
|
||||
function eachNode(rootNode, callback) {
|
||||
if (!callback) {
|
||||
const nodes = [];
|
||||
eachNode(rootNode, function (node) {
|
||||
nodes.push(node);
|
||||
});
|
||||
return nodes;
|
||||
}
|
||||
|
||||
if (false === callback(rootNode)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (rootNode.hasChildNodes()) {
|
||||
const nodes = rootNode.childNodes;
|
||||
for (let i = 0, l = nodes.length; i < l; ++i) {
|
||||
if (false === eachNode(nodes[i], callback)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
const observer = new MutationObserver(function (mutationList) {
|
||||
for (const mutation of mutationList) {
|
||||
for (const addedNode of mutation.addedNodes) {
|
||||
eachNode(addedNode, function (node) {
|
||||
node.nodeName == "DIV" &&
|
||||
node.innerHTML == "Show replies" &&
|
||||
node.closest("button._button")?.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
observer.observe(document, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
attributes: true,
|
||||
attributeFilter: ["role"],
|
||||
});
|
||||
})();
|
Reference in New Issue
Block a user