본문 바로가기

컴퓨터/블로그

티스토리 새로운 단축키 지정하기


오늘 간만에 블로그에 새 옷을 입혔습니다.

마음에 딱 드는 스킨을 골라 적용을 하고 보니, 웬만한 스킨에는 다 있는 '새글쓰기' 버튼이 없더군요.

그동안 글을 작성할 때 관리자 모드로 들어가서 작성을 하지 않고, 주로 블로그에 노출되어 있는 새글쓰기 메뉴를 통해서 해 온 지라 다소 불편함을 느꼈습니다.

버튼을 만들어 배치할까도 생각해 봤지만, 단축키 지정만 할 수 있다면 방문객들에게는 아무런 의미가 없는 메뉴를 굳이 노출시킬 필요가 없겠다는 생각이 들더군요.

http://mindeater.tistory.com/505

에서 해결책을 구했습니다.

새로운 단축키를 지정해 주는 소스를 skin.html에 삽입하는 방법입니다.


<script type="text/javascript">
<!--
var key = new Array();

/*********** 단축키 정의 **************/
key['n'] = "/admin/entry/post";

function getKey(keyStroke) {
 if ((event.srcElement.tagName != 'INPUT') && (event.srcElement.tagName != 'TEXTAREA')){
  isNetscape=(document.layers);
  eventChooser = (isNetscape) ? keyStroke.which : event.keyCode;
  which = String.fromCharCode(eventChooser).toLowerCase();
  for (var i in key)
   if (which == i) window.location = key[i];
 }
}
document.onkeypress = getKey;
//-->
</script>


위 소스를 skin.html의 <hread> </head>사이에 삽입하면 되더군요.
'n' 키 대신에 다른 키를 넣어도 상관이 없습니다.
똑같은 형식으로 단축키를 더 지정할 수도 있습니다.

(mindeater 블로그에는 예전 글쓰기 모드로 접속하는 스크립트로 되어 있어  owner를 admin 으로살짝 수정했습니다.)


익스플로러 8에서는 잘 먹힙니다.
하지만 파이어폭스 3.6에서는 동작하지 않는군요.

어차피 방문객들이 사용할 단축키는 아니기에 두 브라우저를 동시에 사용한다면 큰 문제는 없을 듯합니다.