Remove custom css on VOAT

Removes the dark custom CSS theme from subverses on VOAT.com

目前為 2015-08-16 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name          Remove custom css on VOAT
// @include       https://voat.co/*
// @include       https://www.voat.co/*
// @description   Removes the dark custom CSS theme from subverses on VOAT.com
// @version       1.0
// @author        wOxxOm
// @namespace     wOxxOm.scripts
// @license       MIT License
// @run-at        document-start
// @grant         none
// ==/UserScript==

setMutationHandler(document, '#custom_css', function(observer, nodes) {
	[].forEach.call(nodes, function(node) { node.remove() });
	if (!observer.stopQueued) {
		observer.stopQueued = true;
		(function() {
			document.addEventListener("DOMContentLoaded", function() {
					observer.disconnect();
			});
		})();
	}
	return true;
});

function setMutationHandler(baseNode, selector, cb) {
	var ob = new MutationObserver(function(mutations){
		for (var i=0, ml=mutations.length, m; (i<ml) && (m=mutations[i]); i++)
			for (var j=0, nodes=m.addedNodes, nl=nodes.length, n; (j<nl) && (n=nodes[j]); j++)
				if (n.nodeType == 1) 
					if ((n = n.matches(selector) ? [n] : n.querySelectorAll(selector)) && n.length)
						if (!cb(ob, n))
							return;
	});
	ob.observe(baseNode, {subtree:true, childList:true}); 
}