오마이뉴스(http://www.ohmynews.com/)에서 기사들은 링크가 자바스크립트로 되어 있어 새 탭에서 기사를 열 수 없다.
그래서 "새 탭에 링크를 열기"나 "Shift + Click"을 쓸 수 있게 간단한 스크립트를 만들어 보았다.

다음 세 방법 중 자신이 바라는 하나를 쓰면 된다.

방법 1. 북마크(즐겨찾기)를 쓰는 방법 - Bookmarklet

파이어폭스(Firefox, http://www.mozilla.or.kr/)나 인터넷 익스플로러(IE)에서  쓸 수 있다.
다음 링크를 오른쪽 마우스 버튼을 눌러 "링크를 북마크에 추가"  (IE는 "즐겨찾기에 추가") 메뉴를 선택한다.


오마이뉴스 글을 읽어오면 링크를 클릭하기 전에 북마크에서 한번은 꼭 실행해 줘야 한다.

방법 2.  파이어폭스에서 그리스몽키를 쓰는 방법

방법1은 매번  오마이뉴스에서 링크를 클릭하기 전에 이 북마크를 실행 해줘야하므로 귀찮다.
그래서 파이어폭스(Firefox)에서는 그리스몽키(GreaseMonkey)라는 부가기능을 설치하면 저절로 문서의 주소에 맞는  자바스크립트 명령들을  실행한다.

① 먼저 그리스몽키를 설치하고 파이어폭스를 다시 실행한다.
http://www.greasespot.net/ 에서 "다운로드(Download)"  를  누르면 "설치하기" 단추 그림을 눌러 설치한다.
또는 파이어팍스의 "도구" 메뉴 > "부가기능" > "유용한 확장기능 찾기" 에서도 찾을 수 있다.
② 스크립트 더하기
다음 링크를 클릭(또는 다운 받아 파이어폭스에서 열기)하여 설치한다.

방법 3. IE 에서 IE7Pro 를  쓰는 방법
방법 2. 처럼 위의 스크립트를 자동으로 실행하기 위해 IE 의 부가 기능인 IE7Pro 를 쓸수 있다.
① 먼저  IE7Pro를 설치하고 IE 를 다시 실행한다.
http://www.ie7pro.com/?language=kr 에서 다운받아 설치한다.
② 스크립트 저장하기
위의 ohmynewsModifyLinks.user.js 를 ohmynewsModifyLinks.ieuser.js 로  이름을 바꿔 IE7Pro 의 스크립트 폴더( C:\Program Files\IEPro\userscripts ) 에 저장한다.
③ IE7Pro 의 설정
IE7Pro 의 설정에서 "사용자 스크립트" 항목에  있는  "스크립트 새로고침"  단추를 누르면 ohmynewsModifyLinks 가 더해진다. 그것을 채크해 주면 된다.

소스 둘러보기


다음은 위 방법들에서 사용된 자바스크립트 소스이다.
<a href="javascript:goView(......)">로 되어있는 글 주소를 문서 소스 안에서 찾아
<a href="http://......)"> 처럼 바꾼다.
// ==UserScript==
// @name           ohmynewsModifyLinks
// @namespace      http://idodream.tistory.com/
// @include        http://www.ohmynews.com/*
// @include        http://ohmynews.com/*
// ==/UserScript==


(function(){
var searchHrefPattern = "javascript:goView(";
var paramRe = /'([^']*)'/g;
var paramCount = 5;
var hrefPattern ="{0}?CNTN_CD={1}&PAGE_CD={2}&BLCK_NO={3}&CMPT_CD={4}&NEW_GB=";
for(var i=0;i<document.links.length;i++)
{
    var cLink = document.links[i];
    if(cLink.href && cLink.href.indexOf(searchHrefPattern)==0)
    {
        var paramMatchs=cLink.href.match(paramRe);
        var cUrl=hrefPattern;
        for(var p=0;p<paramCount;p++)
            cUrl=cUrl.replace(new  RegExp("\\{"+p+"\\}",'g'),paramMatchs[p].slice(1,-1));
        cLink.href=cUrl;
    }
}
})()
다른 좋은 방법은 없을까?
^____^
Posted by idodream

BLOG main image
by idodream

공지사항

카테고리

분류 전체보기 (7)
누리그물 (6)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :