Hide mouse Test thingie
当前为
// ==UserScript==
// @name MouseHider
// @namespace https://greasyfork.org/users/45933
// @version 0.0.1
// @author Fizzfaldt
// @license MIT
// @description Hide mouse Test thingie
// @run-at document-end
// @grant none
// @noframes
// @nocompat Chrome
// @match *://*/*
// ==/UserScript==
/* jshint esversion: 6 */
(function () {
let hidden = false;
const styleEl = document.createElement("style");
// Use some poop clowns to get a high selector specificity so we can override
// other selectors in case they also use !important.
const poopClowns = ":not(#💩🤡)".repeat(20);
styleEl.textContent = `
html, body {
height: 100%;
}
${poopClowns} {
cursor: none !important ;
}
`;
function hideHandler() {
if (hidden) return;
if (document.activeElement.tagName == "TEXTAREA") {
// Do nothing when inside a text field.
return;
}
hidden = true;
document.head.append(styleEl);
}
function showHandler() {
if (!hidden) return;
hidden = false;
styleEl.remove();
}
const scrollEl = document.scrollingElement;
const hideEvents = ["scroll", "keyup"];
const showEvents =
(
"PointerEvent" in window
) ? ["pointerdown", "pointermove"]
: ["mousedown", "mousemove", "touchstart", "touchmove", "wheel"];
const options = {capture: true, passive: true};
for (const event of hideEvents) {
scrollEl.addEventListener(event, hideHandler, options);
}
for (const event of showEvents) {
scrollEl.addEventListener(event, showHandler, options);
}
})();