그리즈몽키(Greasemonkey)는 Firerox의 부가 기능 중 하나로서, 자바스크립트를 이용해 웹 페이지의 내용을 자유롭게 변경할수 있게 합니다. 이번에는 연습삼아 진보블로그 홈에 있는 새로 쓴 포스트와 참세상 트랙백에서 특정 사용자가 작성한 글을 감추는 기능을 만들어 보았습니다. 이 기능을 선택한 이유는 제가 처음으로 접한 그리즈몽키 활용 사례이기 때문입니다. KLDP에서 몇몇 사람들이 뭇 사람들의 눈살을 찌푸리게 하는 글을 여럿 쓴 일이 있는데, 그 때 그리즈몽키를 이용해서 불쾌한 내용을 읽지 않은 분들이 있었습니다.
이러한 방법이 있다는 정도로 읽어 주셨으면 합니다. 인터넷을 검색해 보시면 더 재미있는 활용 사례들도 찾으실 수 있습니다. 대답을 보장해 드리지는 못하지만, 문제가 있거나 의견이 있으시면 덧글이나 트랙백을 남겨 주세요.
1. Firefox 설치http://www.mozilla.com/firefox/2. Greasemonkey 설치https://addons.mozilla.org/ko/firefox/addon/7483. 새 스크립트 만들기일단 진보 블로그 홈에 들어갑니다.
화면 오른쪽 아래에 있는 원숭이를 누른 다음, 새로운 유저 스크립트를 선택합니다.
그 다음에 다음과 같이 입력합니다. 동작할 페이지 빼고는 다르게 넣으셔도 됩니다.
그러면 다음과 같은 화면이 나타날 것입니다.
4. 편집다음 내용을 복사해서 붙여 넣습니다. 메모장에 자동으로 들어가 있는 내용은 지우셔도 됩니다. @로 시작하는 줄들은 처음에 입력한 것에 맞추어 바꾸어 줍니다.
// ==UserScript==
// @name Troll-Free Jinbo Blog
// @namespace http://blog.jinbo.net/envia/
// @description Troll-Free Jinbo Blog
// @include http://blog.jinbo.net/
// ==/UserScript==
// Special thanks to KLDP!
// Enter the names of the trolls in the brackets.
// Examples:
// troll = ["troll"];
// troll = ["troll 1", "troll 2", "troll 3"];
troll = [];
var post = document.getElementsByTagName("dl")[0].childNodes;
for(var i in post)
if (post[i].nodeType == 1 && post[i].nodeName.toLowerCase() == "dt")
for (var j in troll)
if (post[i].firstChild.firstChild.firstChild.nodeValue == troll[j])
post[i].style.display = "none";
var cham = document.getElementById("chamtrb_list").childNodes;
for(var i in cham)
if (cham[i].nodeType == 1)
for (var j in troll)
if (cham[i].firstChild.childNodes[5].childNodes[1].firstChild.nodeValue == troll[j])
cham[i].style.display = "none";
이제 troll = [ ];의 [ ] 안에 특정 사용자의 별명을 따옴표로 감싸서 넣습니다. 여러 사람일 경우 쉼표로 구분해 줍니다.
5. 저장편집한 파일을 그냥 저장하면 한글이 잘 처리되지 않습니다. 그래서 "다른 이름으로 저장"을 고르신 다음, 파일 형식을 "모든 파일"로, 인코딩을 "UTF-8"로 바꾸어서 다시 저장해 줍니다.
이제 진보 블로그 홈에 다시 들어오시면 그리즈몽키가 적용되어 특정 사용자의 글은 보이지 않을 것입니다.
최근 댓글 목록