您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide all posts & reload page on Ctrl+Shift+R; cancel with Escape
当前为
- // ==UserScript==
- // @name Reddit Hide All Posts & Reload Hotkey
- // @namespace redditposthideandreload_kk
- // @version 1.5
- // @description Hide all posts & reload page on Ctrl+Shift+R; cancel with Escape
- // @match https://*.reddit.com/*
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- let oldhidebtns;
- let newhidebtns;
- function getbtns() {
- oldhidebtns = document.getElementsByTagName("a");
- newhidebtns = document.getElementsByClassName("icon-hide");
- }
- let wait = ms => new Promise(resolve => setTimeout(resolve, ms));
- let waitTime = 500;
- let canReload = true;
- async function doHide() {
- getbtns();
- try {
- for (let i = 0; i < oldhidebtns.length; i++) {
- if (!canReload) return;
- if (oldhidebtns[i].innerText.toLowerCase() === "hide") {
- oldhidebtns[i].click();
- await wait(waitTime);
- }
- }
- let didNewBtnRun = false;
- for (let i = 1; i < newhidebtns.length; i++) {
- if (!canReload) return;
- i--;
- newhidebtns[i].click();
- didNewBtnRun = true;
- await wait(waitTime);
- }
- if (didNewBtnRun) return doHide();
- await wait(waitTime + 1000);
- if (!canReload) return;
- location.reload();
- }
- catch (e) {
- console.warn(e);
- doHide();
- }
- }
- document.addEventListener("keydown", (e) => {
- if (e.ctrlKey && e.shiftKey && e.keyCode == 82) {
- e.preventDefault();
- canReload = true;
- doHide();
- }
- if (e.key.toLowerCase() === "escape" || e.code.toLowerCase() === "escape") {
- e.preventDefault();
- canReload = false;
- }
- }, false);