[JavaScript] 단축키로 페이지 이동

페이지 정보

루루아빠 4,052 3 2015.05.28 07:52

평점

본문


<script type="text/javascript">

// 핫key 함수.
function movePage() {
var EventStatus = event.srcElement.tagName;
if(EventStatus!='INPUT'&&EventStatus!='TEXTAREA'&&EventStatus!='IFRAME'&&EventStatus!='EMBED') {

// Main Page로 이동. 키값 [H,h]
if (event.keyCode=='72') location.href="http://홈주소";
if (event.keyCode=='104') location.href="http://홈주소";

// 자유게시판으로 이동. 키값 [F,f]
if (event.keyCode=='70') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='102') location.href="http://홈주소/bbs/board.php?bo_table=xxx";

// 유머게시판으로 이동. 키값 [U,u]
if (event.keyCode=='85') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='117') location.href="http://홈주소/bbs/board.php?bo_table=xxx"

// 일반/IT 뉴스게시판으로 이동. 키값 [N,n]
if (event.keyCode=='78') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='110') location.href="http://홈주소/bbs/board.php?bo_table=xxx";

// 연예/스포츠 뉴스게시판으로 이동. 키값 [M,m]
if (event.keyCode=='77') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='109') location.href="http://홈주소/bbs/board.php?bo_table=xxx";

// 자료창고게시판으로 이동. 키값 [P,p]
if (event.keyCode=='80') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='112') location.href="http://홈주소/bbs/board.php?bo_table=xxx";

// 작품게시판으로 이동. 키값 [J,j]
if (event.keyCode=='74') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
if (event.keyCode=='106') location.href="http://홈주소/bbs/board.php?bo_table=xxx";
}
}
document.onkeypress=movePage;
</script>
위 코드는 샘플 코드이며 홈에 맞게 응용한다.


핫키로 인해 키보드 콘트롤이 필요한 iframe 혹은 embed 에서는 작동을 하지 않도록 수정을 했다.

키보드 키코드

←(백스패이스) = 8
TAB = 9
ENTER = 13
SHIFT = 16
CTRL = 17
ALT = 18
PAUSEBREAK = 19
CAPSLOOK = 20
한/영 = 21
한자 = 25
ESC = 27

스패이스 = 32
PAGEUP = 33
PAGEDN = 34
END = 35
HOME =36

←(중간) = 37
↑(중간) = 38
→(중간) = 39
↓(중간) = 40

INSERT = 45
DELETE = 46

0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57

A = 65
B = 66
C = 67
D = 68
E = 69
F = 70
G = 71
H = 72
I = 73
J = 74
K = 75
L = 76
M = 77
N = 78
O = 79
P = 80
Q = 81
R = 82
S = 83
T = 84
U = 85
V = 86
W = 87
X = 88
Y = 89
Z = 90

윈도우(왼쪽) = 91
윈도우(오른쪽) = 92
기능키 = 93

0(오른쪽) = 96
1(오른쪽) = 97
2(오른쪽) = 98
3(오른쪽) = 99
4(오른쪽) = 100
5(오른쪽) = 101
6(오른쪽) = 102
7(오른쪽) = 103
8(오른쪽) = 104
9(오른쪽) = 105


.(오른쪽) = 110
/(오른쪽) = 111
*(오른쪽) = 106
+(오른쪽) = 107
-(오른쪽) = 109

F1 = 112
F2 = 113
F3 = 114
F4 = 115
F5 = 116
F6 = 117
F7 = 118
F8 = 119
F9 = 120
F10 = 121
F11 = 122
F12 = 123

NUMLOCK = 144
SCROLLLOCK = 145
=(중간) = 187
-(중간) = 189
`(왼쪽콤마) = 192
\(중간) = 220

추천인
  • 추천해 주세요
6
루루아빠 - 회원등급 : 최고관리자 - 포인트 : 1,290,006
레벨 96
경험치 1,387,199

Progress Bar 67%

- 가입일 : 2015-03-04 03:24:54
- 서명 : KNOW YOUR LIMITS BUT NEVER STOP TRYING TO EXCEED THEM !!
- 자기소개 : 루루의 자랑 루루아빠랍니다~~

댓글3

루루아빠님의 댓글

루루아빠 글쓴이 2015.09.21 03:04

핫키로 인해 키보드 콘트롤이 필요한 플래쉬 게임이랄지 그런 부분에 문제가 있다. 다음과 같이 수정한다. 수정 전


// 핫key 함수
function movePage() {
var EventStatus = event.srcElement.tagName;
if(EventStatus!='INPUT'&&EventStatus!='TEXTAREA') {
수정 후

// 핫key 함수
function movePage() {
var EventStatus = event.srcElement.tagName;
if(EventStatus!='INPUT'&&EventStatus!='TEXTAREA'&&EventStatus!='IFRAME'&&EventStatus!='EMBED') {
위 소스를 통해 iframe과 embed에서도 핫키가 작동치 않게한다.

루루아빠님의 댓글

루루아빠 글쓴이 2015.05.28 07:57


루루홈은 위와 같이 적용되었으며 절대경로를 상대경로 변경하였다. www.yadolee.com 일때와 yadolee.com 일때 절대경로는 동일 도메인으로 인정되지 아니하기에 로그인이 풀리는 문제등과 핫키 지정시 문제가 많아 상대경로로 모두 변경하였다.

루루아빠님의 댓글

루루아빠 글쓴이 @루루아빠 2015.09.23 10:42

메인으로 이동하는 상대경로가 ../ 임으로 jwplayer의 절대경로도 상대경로로 변경하였다. 결국 홈의 루트는 상대경로가 한단계 앞 폴더를 의미하는 ../ 임을 잊지말자.



<!--  --><!-- pure 7.0 player -->
<!-- kegen 6.12 player -->