\n";
- $bartext .= &GetPageLink($HomePage);
- $bartext .= " | \n" . &ScriptLink("action=index", T('Index'));
- $bartext .= " | \n" . &GetPageLink(T($RCName));
+ $bartext .= &GetPageLink($HomePage).&GetPageLinkText($HomePage, " [f]");
+ $bartext .= " | \n" . &ScriptLink("action=index", T('Index')." [i]");
+ $bartext .= " | \n" . &GetPageLink(T($RCName)).&ScriptLink("action=rc", " [r]");
if ($id =~ m|/|) {
$main = $id;
$main =~ s|/.*||; # Only the main page name (remove subpage)
@@ -2252,12 +2310,12 @@
$bartext .= " | \n" . &ScriptLink("action=links", T('Links'));
# if (($UserID eq "113") || ($UserID eq "112")) {
if (!&LoginUser()) {
- $bartext .= " | \n" . &ScriptLink("action=login", T('Login'));
+ $bartext .= " | \n" . &ScriptLink("action=login", T('Login')." [l]");
}
else {
$bartext .= " | \n".
&GetPageLink(&GetParam('username'));
- $bartext .= " | \n" . &ScriptLink("action=logout", T('Logout'));
+ $bartext .= " | \n" . &ScriptLink("action=logout", T('Logout'). " [l]");
}
$bartext .= " | \n" . &GetSearchForm();
if ($UserGotoBar ne '') {
@@ -5249,11 +5307,13 @@
my ($id, $action, $text, $search);
$ClickEdit = 0; # luke added
+ $UseShortcutPage = 0; # 단축키
$action = &GetParam("action", "");
$id = &GetParam("id", "");
if ($action ne "") {
$action = lc($action);
if ($action eq "edit") {
+ $UseShortcut = 0; # 단축키
&DoEdit($id, 0, 0, "", 0) if &ValidIdOrDie($id);
} elsif ($action eq "unlock") {
&DoUnlock();
@@ -5264,12 +5324,15 @@
### titleindex action 추가
### from Bab2's patch
} elsif ($action eq "titleindex") {
+ $UseShortcut = 0;
&DoTitleIndex();
###
###############
} elsif ($action eq "help") { # luke added
+ $UseShortcut = 0;
&DoHelp(); # luke added
} elsif ($action eq "preview") { # luke added
+ $UseShortcut = 0;
&DoPreview(); # luke added
} elsif ($action eq "links") {
&DoLinks();
@@ -5301,9 +5364,11 @@
&DoBookmark();
### file upload
} elsif ($action eq "upload") {
+ $UseShortcut = 0;
&DoUpload();
### oekaki
} elsif ($action eq "oekaki") {
+ $UseShortcut = 0;
&DoOekaki();
### 관심 페이지
} elsif ($action eq "interest") {
@@ -5319,6 +5384,7 @@
&DoComments($id) if &ValidIdOrDie($id);
### rss from usemod1.0
} elsif ($action eq "rss") {
+ $UseShortcut = 0;
&DoRss();
### Trackback
} elsif ($action eq "send_ping") {
@@ -5329,6 +5395,7 @@
###############
} else {
# Later improve error reporting
+ $UseShortcut = 0;
&ReportError(Ts('Invalid action parameter %s', $action));
}
return;
@@ -5367,6 +5434,7 @@
# Handle posted pages
if (&GetParam("oldtime", "") ne "") {
$id = &GetParam("title", "");
+ $UseShortcut = 0;
&DoPost() if &ValidIdOrDie($id);
return;
}
@@ -5632,7 +5700,9 @@
if ($EditNote ne '') {
print T($EditNote) . ' '; # Allow translation
}
- print $q->submit(-name=>'Save', -value=>T('Save')), "\n";
+### 단축키
+# print $q->submit(-name=>'Save', -value=>T('Save')), "\n";
+ print $q->submit(-accesskey=>'r', -name=>'Save', -value=>T('Save')." [alt+r]"), "\n";
$userName = &GetParam("username", "");
if ($userName ne "") {
print ' (', T('Your user name is'), ' ',
@@ -5640,13 +5710,11 @@
} else {
print ' (', Ts('Visit %s to set your user name.', &GetPrefsLink()), ') ';
}
- #print $q->submit(-name=>'Preview', -value=>T('Preview')); # luke delete
###############
### replaced by gypark
### 미리보기 버튼에 번역함수 적용
- # print q(); # luke added
- print q(); # luke added
###
###############
@@ -5654,12 +5722,12 @@
###############
### added by gypark
### file upload
- print " ".q();
### oekaki
- print " ".q();
###
###############
}}}
=== # wikiscript.js 수정 ===
ext1.109f 에서, wiki.pl 안에 들어 있는 GetKeyStroke함수를 wikiscript.js 쪽으로 옮기고, 한 줄 추가되었음
{{{#!vim javascript
// 단축키 개선
function GetKeyStroke(KeyStorke) {
var evt = KeyStorke || window.event;
var eventChooser = evt.keyCode || evt.which;
var target = evt.target || evt.srcElement;
if (evt.altKey || evt.ctrlKey) return; // ext1.109f 에서 추가된 라인
while (target && target.tagName.toLowerCase() != 'input' && target.tagName.toLowerCase() != 'textarea') {
target = target.parentElement;
}
if (!target) {
var which = String.fromCharCode(eventChooser).toLowerCase();
for (var i in key) {
if (which == i) {
document.location.href = key[i];
}
}
}
}
}}}
=== # 추가 업데이트 내역 ===
ext1.74b - FireFox 에서도 동작하도록 수정
ext1.109f
* Ctrl, Alt 키와 같이 눌렀을 때는 동작하지 않게 함
** FF 에서 도구 표시줄(Alt+키)이나 찾기(Ctrl+F)등을 동작시킬 때 페이지도 같이 이동해버리는 문제 해결
* 유지보수의 편의를 위해서 GetKeyStroke 함수를 wikiscript.js 쪽으로 옮김
=== # 사용자 의견 ===
페이지를 이동시키는 방법이.. \\
- window.location = ... 클리앙에서 쓰는 방법 \\
- location.href= ... 유즈모드에서 마우스 더블클릭시 \\
- document.location.href = ... 태터 \\
- parent.location.herf = ... 태터 \\
등이 있군요. location 앞에 다른 게 있는 경우와 없는 경우, 뒤에 href 가 있는 경우와 없는 경우에 대해 설명 좀 해주세요~
최근에 소스를 수정하면서 FF로 테스트하면서야 알았는데... FF에서는 alt+e 를 눌러서 FF의 편집 도구 모음을 열려고 하면 위키까지 그 영향을 받아서 페이지 수정 화면으로 넘어가버리는군요... 그렇다고 FF에서 단축키 기능을 끄게 하면 이번에는 반대로 위키 페이지 작업을 할 때 불편할테고... 으음...
찾기할대도 첫 페이지로 가버려요.
: 이젠 잘 될 겁니다. :-) 근데 키보드가 한글 입력 상태에서는 동작하지 않던데, (IE에서는 되는데) 이건 태터에서도 그런 걸 보니 제가 해결할 수 있는 난이도가 아니지 싶어서 외면합니다 ^.^
::애쓰셨습니다. 한글입력상태에서 동작안하는건 별 불편하지 않아요.
그리고 고질적인 브라우저의 "&" 처리 문제 때문에, 소스 코드 내의 "&"가 수정 할때마다 "&"로 바뀌어서 어떤 곳은 "&" 이런 식으로 계속 바꿔치기 된 곳들이 있군요. 그런 곳들은 다 그냥 "&"입니다. 일단 페이지는 고쳐놨지만 소스 수정하실 때 주의하셔야 하겠습니다.
으으... 맥을 쓰는 어느 분이 "command+f"를 눌러서 검색을 하려 할 때 첫 화면으로 이동해버린다는 제보를 하셨었는데, 그때는 내가 맥을 쓰고 있지 않아서 귀찮아서 수정을 미뤘더만... 내가 불편해서 죽겠군요... 근데 어딜 어떻게 손봐야 하려나...
나도 맥을 쓰게 되니 cmd+f 와 cmd+l 할 때마다 첫페이지로 가거나 로그아웃되는 문제가 있어서 일단 UseShortcut 변수 값을 0으로 해서 꺼 둠.
----
[[위키위키분류]]
UseModWiki소스수정/단축키개선 페이지로 돌아가기 | 다른 수정본 보기
|