모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : freeboard_878488
    작성자 : 52c
    추천 : 7
    조회수 : 579
    IP : 182.214.***.68
    댓글 : 2개
    등록시간 : 2015/05/30 00:16:54
    http://todayhumor.com/?freeboard_878488 모바일
    영자님을 위한 재능기부 - jQuery를 활용한 오유 단축키 소스 공개
    관련 내용을 올렸었는데, ( http://todayhumor.com/?freeboard_878435
    아무래도 소스를 공개해 드리는 게 좋을 것 같아서 요로코롬 올려 드립니다.

    제가 만든 크롬 확장 프로그램, "오유 왼손 단축키" 소스를 공개합니다. 
    바보님이 만드신 것과 동일하게 W,S,A,D를 사용하고요.. 
    다음의 로직으로 구현되었습니다.

    이전/다음 글 : 화면에 표시된 글 목록 중에서 현재 보고 있는 글의 이전/다음 글 링크를 클릭하는 형태입니다. (목록 화면에서는 맨 상위 글로 이동)
    이전/다음 페이지 : URL의 파라미터를 분석하여, page 파라미터를 수정하여 이동합니다.

    바보님은 jQuery를 사용하지 않는 라이브러리를 따로 쓰셨던데, 
    저는 그냥 jQuery를 활용해 corss browsing 문제를 해결했습니다. 

    바보님 뿐 아니라, JavaScript 초보자 분들에게도 도움이 많이 되었으면 좋겠습니다. ^^;;

    소스-----------------------------------------------

    //글 이동시 보여 줄 패널 
    var announceDiv = $('<div id="ou_shortcut_announce">').css({
    position:'absolute',
    top:'0', left:'0', right:'0', bottom:'0', 
    background:'rgba(15,15,15,0.8)',
    zIndex:1000
    }).hide().appendTo('body');

    //패널 내용 (이전 글로 이동합니다, 다음 글로 이동합니다..)
    var announceTextDiv = $('<div id="ou_shortcut_announce_text">').css({
    position:'absolute',
    top:'0px',
    left:'0px',
    width:'300px',
    height:'120px',
    textAlign:'center',
    fontWeight:'bold',
    lineHeight:'120px',
    borderRadius:'8px',
    background:'rgb(225,225,225',
    boxShadow:'5px 5px 50px rgba(0,0,0,0.8)'
    }).appendTo(announceDiv);

    //패널을 표시함
    function ouShortcutShowAnnounce(msg, autoHide) {
    //console.log(Math.max(0, (($(window).height() - $('#ou_shortcut_announce').outerHeight()) / 2) + $(window).scrollTop()) + "px");
    announceTextDiv.text(msg)
    .css({
    'top': Math.max(0, (($(window).height() - announceTextDiv.outerHeight()) / 2) + $(window).scrollTop()) + "px",
    'left': Math.max(0, (($(window).width() - announceTextDiv.outerWidth()) / 2) + $(window).scrollLeft()) + "px"
    });
    announceDiv.height($(document).height()).show({
    duration:0,
    always: function() {
    if(!! autoHide) {
    $(this).delay(1000).fadeOut();
    }
    }
    });
    }

    //URL 파라미터를 Object로 변환
    var strParams = location.search.substring(1);
    var objParam = strParams ? JSON.parse('{"' + strParams.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) }):{};

    //게시물 목록
    var contList = $('table.table_list > tbody > tr.view');
    var contOffset = contList.eq(0).index(); //공지사항은 빼야 함..

    //게시물 목록 중 현재 보고 있는 글에 해당하는 녀석.
    var viewPos = $('table.table_list > tbody > tr.view_now').index();
    var currentPos = viewPos < 0 ? -1 : viewPos - contOffset; //공지사항은 빼야 함..

    //파라미터에서 현재 페이지 가져 옴.
    var currentPage = objParam.page ? Number(objParam.page) : 1;

    //목록 URL 생성
    var listParam = {};
    ['table','kind','member_kind','mn'].forEach(function(key) {
    if(!! objParam[key]) listParam[key] = objParam[key];
    });

    var currentUrl = window.location.pathname;
    var currentFileName = currentUrl.substring(currentUrl.lastIndexOf('/')+1);

    if(currentFileName == 'write.php') { //글쓰기 화면에서는 Alt+S 를 누르면 "확인" 버튼을 클릭함
    var onKeyDown = function(e) {
    //console.log(e.altKey, e.which);
    if(e.altKey && e.which == 83) {
    e.preventDefault();
    $('input[name=confirm_btn]').click();
    return false;
    }
    };

    var onKeyPress = function(e) { //OSX Yosemitte 에서는 Alt+S 를 누르면 추가 이벤트가 발생하는 버그가 있어서..
    if(e.altKey && e.which == 223) {
    return false;
    }
    };

    $(document).keydown(onKeyDown).keypress(onKeyPress);
    $('iframe').contents().keydown(onKeyDown).keypress(onKeyPress);

    } else { 

    $(document).keypress(function(e) {
    if(e.altKey && e.which == 223) return false;
    });
    $(document).keydown(function(e) {
    //댓글을 쓰고 Alt+S 누르면 확인 버튼 누름.
    if($(e.target).is('input, textarea')) { 
    if($(e.target).is('#memoText') && e.altKey && e.which == 83) {
    $('#memo_insert_submit_image').click();
    return false;
    }

    return;
    }

    //단축키 지정 
    switch(e.which) {
    case 65 : //'A' : 윗글로 이동
    if(currentPos > 0) {
    ouShortcutShowAnnounce('윗글로 이동');
                        window.location.href = contList.eq(currentPos - 1).find('td.subject > a').attr('href');
    } else {
    ouShortcutShowAnnounce('윗글이 없습니다', true);
    }

    break;
    case 68 : //'D' : 아랫글로 이동
    if(currentPos < contList.length - 1) {
    ouShortcutShowAnnounce('아랫글로 이동');
                        window.location.href = contList.eq(currentPos + 1).find('td.subject > a').attr('href');
    } else {
    ouShortcutShowAnnounce('아랫글이 없습니다', true);
    }
    break;

    case 87 : //'W' : 이전 페이지로 이동 
    if(currentPage > 1) {
    ouShortcutShowAnnounce('이전 페이지로 이동');
    listParam.page = currentPage - 1;
    window.location.href = 'list.php?' + $.param(listParam);
    } else {
    ouShortcutShowAnnounce('첫페이지입니다', true);
    }
    break;

    case 83 : //'S' : 다음 페이지로 이동
    ouShortcutShowAnnounce('다음 페이지로 이동');
    listParam.page = currentPage + 1;
    window.location.href = 'list.php?' + $.param(listParam);
    break;
    default:
    break;
    }
    });
    }
    출처 https://chrome.google.com/webstore/detail/%EC%98%A4%EC%9C%A0-%EC%99%BC%EC%86%90-%EB%8B%A8%EC%B6%95%ED%82%A4/omdikfnbkndgffbojgbcgiimgabiodff?hl=ko
    52c의 꼬릿말입니다
    7ULFnL9.png?1

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2015/05/30 00:20:45  182.172.***.52  Barbe-a-papa  530736
    [2] 2015/05/30 00:24:05  1.239.***.208  †카라칼†  591272
    [3] 2015/05/30 00:30:44  180.92.***.69  사막의달  613719
    [4] 2015/05/30 00:32:15  114.200.***.189  밤바람5N  644466
    [5] 2015/05/30 00:37:32  121.141.***.97  seekpurm  405130
    [6] 2015/05/30 01:20:08  59.0.***.83  하체비만  118980
    [7] 2015/05/30 01:23:33  175.201.***.34  오함마가꼬와  340371
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
          여기는 자유게시판입니다. 텃세금지 / 뻘글환영 / 웬만하면 상호 지적 금지
    2036513
    계엄선포시점 분석 펌글 우가가 24/12/05 00:51 191 0
    2036512
    그저께 작은오래비가 놀리더군여 새끼둘고릴라 24/12/05 00:30 149 1
    2036511
    100분토론 유튜브 동시중계 하네요... [8] 97%충전중 24/12/04 21:47 644 11
    2036509
    일본의 계엄령 [1] 맥플러리 24/12/04 21:27 642 6
    2036508
    에어프라이기에 새끼둘고릴라 24/12/04 21:15 276 2
    2036507
    엔딩 충격이라고 말많은 조명가게 [3] 이동서기 24/12/04 20:48 814 2
    2036506
    계엄 선포가 가져온 나비효과 [1] 창작글 이재명이다 24/12/04 20:46 880 9
    2036505
    11시에는 무슨소리를 할런지;;; [7] 크라카타우 24/12/04 20:46 639 8
    2036504
    게임 하나에 눈물이 나다니 [2] 새끼둘고릴라 24/12/04 20:39 392 4
    2036503
    이제야 50번 출석했네요. [8] 굥정과상식 24/12/04 20:39 342 10
    2036502
    오징어분들, 귀여운 냥이를 보실께요. 창작글 민트날개 24/12/04 20:14 262 4
    2036501
    을호 1호가 해제 됬다길래~~ 하루살이1976 24/12/04 19:42 445 0
    2036498
    작업표시줄 시간이 이상하게 바꼇어요...ㅠㅠ [2] 약이필요해 24/12/04 18:35 365 1
    2036497
    고민을 했어요 새 어떤 아이를 키울까 [5] 새끼둘고릴라 24/12/04 18:30 341 4
    2036496
    내 시간 뭐 이리 허비중이지?ㅠㅠ TY 24/12/04 18:29 227 3
    2036495
    오늘만치 하루살이1976 24/12/04 18:29 179 0
    2036493
    수육용 삼겹살을 [4] 새끼둘고릴라 24/12/04 18:27 359 6
    2036492
    SBS에서는 행정복지센터에서 예산을 빼돌린 사건을 아시는분들을 기다립니다 [3] 궁구미와이 24/12/04 18:06 241 1
    2036491
    사우디에서 만나는 사람들마다 [4] NICKNAME 24/12/04 18:03 438 10
    2036490
    눈물~* [2] 96%변태중 24/12/04 17:59 208 2
    2036489
    12월 3일 10시 30분 창기병 24/12/04 17:59 247 0
    2036488
    급 술 [18] 그림마 24/12/04 17:56 294 8
    2036487
    계엄령 무효화, 을호 1호 시행 취소 [2] 외부펌금지 Bluesky2610 24/12/04 17:33 520 4
    2036485
    신안염전다녀오겠음 [11] 농심진라면. 24/12/04 17:08 491 8
    2036484
    1인 시위를 마치고 [6] 택시운전수 24/12/04 17:06 377 11
    2036483
    ㅎㅂ?)잠깐 열좀 식혀줄....(헐벗은 누나~*) [10] 96%변태중 24/12/04 17:02 1001 8
    2036482
    현재 대한민국 정부 구성원 근황 [12] 설명충이되어 24/12/04 17:00 936 10
    2036481
    국짐은 지금이 자진납세하고 묻혀갈 타임 ㅊ발라응원해 24/12/04 16:49 389 2
    2036480
    커플링 잃어버리고 생존신고 [4] 오마무시 24/12/04 16:32 518 8
    2036479
    낼 월차 [1] 농심진라면. 24/12/04 15:30 389 3
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈