Reddit Hide All Posts & Reload Hotkey

Hide all posts & reload page on ctrl+shift+r

目前為 2019-08-10 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Reddit Hide All Posts & Reload Hotkey
// @namespace    redditposthideandreload_kk
// @version      1.1
// @description  Hide all posts & reload page on ctrl+shift+r
// @match        https://*.reddit.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

var oldhidebtns;
var newhidebtns;

function getbtns() {
	oldhidebtns = document.getElementsByTagName("a");
	newhidebtns = document.getElementsByClassName("icon-hide");
}

var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
var waitTime = 350;

async function doHide() {
	getbtns();
	
	try {
		for (var i = 0; i < oldhidebtns.length; i++) {
            await wait(waitTime);
			if (oldhidebtns[i].innerText.toLowerCase() === "hide") {
				oldhidebtns[i].click();
			}
		}

		var didNewBtnRun = false;

		for (var i = 0; i < newhidebtns.length; i++) {
			await wait(waitTime);
			newhidebtns[i].click();
			didNewBtnRun = true;
		}

		if (didNewBtnRun) return doHide();

		await wait(waitTime + 1000);

		location.reload();
	}
	catch (e) {
		console.warn(e);
		doHide();
	}
}

document.addEventListener("keydown", (e) => {
	if (e.ctrlKey && e.shiftKey && e.keyCode == 82) {
		e.preventDefault();
		doHide();
	}
}, false);