Wangblows

In GNU we trust

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Wangblows
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  In GNU we trust
// @author       (You)
// @include      *://*.*/*
// @grant        none
// ==/UserScript==

(function() {
	function findAndReplace(searchText, replacement, searchNode) {
	var regex = typeof searchText === 'string' ?
	    new RegExp(searchText, 'gi') : searchText,
	    childNodes = (searchNode || document.body).childNodes,
	    cnLength = childNodes.length,
	    excludes = 'html,head,style,title,link,meta,script,object,iframe';
	while (cnLength--) {
		var currentNode = childNodes[cnLength];
		if (currentNode.nodeType === 1 &&
		    (excludes + ',').indexOf(currentNode.nodeName.toLowerCase() + ',') === -1) {
		        arguments.callee(searchText, replacement, currentNode);
		    }
		if (currentNode.nodeType !== 3 || !regex.test(currentNode.data) ) {
		    continue;
		}
		var parent = currentNode.parentNode,
		frag = (function(){
			var html = currentNode.data.replace(regex, replacement),
			wrap = document.createElement('div'),
			frag = document.createDocumentFragment();
			wrap.innerHTML = html;
			while (wrap.firstChild) {
			    frag.appendChild(wrap.firstChild);
			}
			return frag;
		})();
		parent.insertBefore(frag, currentNode);
		parent.removeChild(currentNode);
	    }
	}
    findAndReplace('windows', 'Wangblows');
    findAndReplace('microsoft', 'Microshaft');
    findAndReplace('apple', 'Applel');
})();