UseModWiki소스수정/상대경로URL 페이지의 소스 보기
마지막으로 [b]
-- Loading page list... --
내용출력
로그인[l]
Diary
[f]
최근변경내역
[r]
페이지목록[i]
횡설수설[2]
게시판[3]
링크
수정할 수 없습니다: UseModWiki소스수정/상대경로URL 는 읽기 전용 페이지입니다.
== 상대경로로 적은 URL 처리 == * 페이지에
http:/temp/test.html
또는
http:../../temp/test.html
이라고 적은 경우,
http:/temp/test.html
와 같이 링크가 생성되는데, 웹브라우저에 따라서 이렇게 적힌 URL 을 제대로 처리하지 못하는 경우가 있다. ([[주인장]]이 테스트한 바로는, IE 와 KDE의 K브라우저는 제대로 처리를 했고, Moziila 는 제대로 처리하지 못했다) * URL 패턴을 링크로 변환할 때, 상대경로일 경우 앞에 http: 를 빼어 버리고 링크를 만들도록 한다. 즉 위의 경우 링크는
또는
가 되도록 한다. * UseMod:WikiPatches/PartialUrlFix 의 패치를 적용하려고 했는데, 이미 되어 있었다. (오리지널, Luke님의 K3, PalmWiki 버전 중 어느 시점에서 적용된 것인지는 모르겠음) 그런데 현재 상태에서는, 이미지 링크와 [URL label] 형식의 링크는 제대로 처리하지만 URL 만을 그냥 적는 경우는 처리하지 못한다. 해당 부분만 다시 수정했다. * 부작용: ** 딱히 동작에 문제가 되지는 않는데, "눈에 보이는 것" 과 실제 링크가 걸린 방식이 달라지게 된다. 즉 화면에는 "
http:../../temp/test.html
" 라고 적혀 있지만 실제 링크는 "../../temp/test.html" 이라고 걸려 있다. 어쩔 수 없는 듯. ** 정 맘에 안 들 경우는, 아래 소스코드에서 return 문에 추가된 $protocol 을 제거하면 된다. 이 경우는 화면에도 http 가 빠진 채로 "../../test/test.html" 이라고만 나올 것이다. 아마도, 더 맘에 안 들 거다. :-) * /TestPartialUrlFix 참조 : 다른 패치 (새창으로 열기 아이콘, 그림 주소 보이기) 를 이미 적용했을 경우 소스코드가 아래와는 다르게 나올 것이다. 알아서 잘 처리하라. ;-) {{{#!vim perl sub UrlLink { ... return ("
", $punct); } ### 여기를 추가해 준다. my $protocol; ($protocol, $name) = ($1, $2) if ($name =~ /^(https?:)(.*)/ && $2 !~ /^\/\//); ### ### return 문에 $protocol 을 추가 # return ("
$name
", $punct); return ("
$protocol$name
", $punct); } }}} ---- [[위키위키분류]]
UseModWiki소스수정/상대경로URL
페이지로 돌아가기 |
다른 수정본 보기