워드프레스 2.7이상에서 작동하는 새로운 플러그인이 있습니다.
Ajax Spoiler 0.2
공개 후 제가 직접 사용하면서 불편했던점들과, Unfusion님께서 수정해주신부분을 적용해서 0.3버전을 만들었습니다.
1. 변경사항 (Change
)
- 파일을 수정하지 않고 이펙트를 지정할 수 있습니다 (by unfusion)
- 스크립트, CSS파일들을 플러그인 폴더로 옮겼습니다.(by unfusion)
- 새로운 이펙트가 추가되었습니다 : phase
aj-spoiler.js.php
파일을 추가했습니다.effect.js.php
파일을 수정하지 않고 원본파일로 사용했습니다.- 설치가 이전 버전에 비해 간편해 졌습니다.
- 워드프레스의 wpautop 필터와 문제를 일으켜 생겼던 Validation오류를 해결했습니다.
2. 설치 (Install
)
- 아래 첨부된 파일을 다운로드받습니다.(일반사용자용, k2테마사용자용)
- 압축을 풀면 나오는
aj-spoiler
폴더를 플러그인폴더에 업로드합니다.
(e.g./wp-content/plugins/
) - 관리자화면 / 플러그인에서
ajax-spoiler
를 활성화(Activate
) 합니다.
3. 업그레이드 (Upgrade
)
- 기존 플러그인 파일(
aj-spoiler.php
), 테마폴더에 업로드했던 “js
“폴더를 삭제합니다. - K2테마 사용자께서는 0.2버전에서 교체했던
effect.js.php
파일을 원래의 파일로 바꾸세요 aj-spoiler
폴더를 플러그인폴더에 업로드합니다.- 관리자화면 / 플러그인에서
ajax-spoiler
를 활성화(Activate
) 합니다.
4. 사용법 예제 (Usage
)
- 0.2버전 포스트에 사용예, 사용법을 참고하세요.
- 새로운 이펙트 phase 의 사용예 입니다.
[spoiler ‘phase”phase이펙트 사용예입니다”이 스포일러를 닫습니다’]phase이펙트는 이렇게 작동 합니다.
FadeIn
되면서BlindDown
되고,FadeOut
되면서BlindUp
됩니다. [/spoiler] - 위 사용예의 코드는 아래와 같습니다.
- 이펙트 종류에는
appear
(기본값),blind
,apblind
,phase
네가지가 있습니다. - 이펙트종류, 스포일러텍스트를 지정하지 않으시면 기본값으로 자동 지정됩니다.
(이펙트 = 'appear
', 보이기텍스트 = 'show
', 감추기텍스트 = 'hide
')
5. 참고 및 하고 싶은말 (Readme
)
- 수정에 도움을 주신 Unfusion님께 감사드립니다.
- 문제가 있으면 이 페이지에 코멘트 남겨주시기 바랍니다.
- 이 플러그인은 Simple-Spoiler를 수정한 버전입니다.
- 플러그인의 개선에 대한 의견이나, 고칠점이 있다면 언제든지 코멘트 남겨주세요.
더이상 k2테마용 버전이 따로 필요치 않게되어 파일을 삭제 했습니다.
추가 : 플러그인이 업데이트되어, 버그가 있는 예전 버전을 삭제했습니다.
16 responses to “Ajax Spoiler ver.0.3”
@weiqi :: thanks weiqi, have a nice day
good
@티즈 :: 제가 WYSIWYG Editor를 사용하지 않아서 그 점을 몰랐었네요. 기존에 쓰던 코드들이 있으니 교체하는건 좀 그렇구요,
[ spoiler][/spoiler ]
도 인식하도록 다음 버전에서 추가해야겠네요. 좋은 제안 감사합니다~추가 :: 방금 위의 제 답변을 보니 ‘
+
‘가 빠져있었네요.. 코드를 복사해서 붙이는 과정에서 오류가 있었나보네요.그런데 082net님께서 올려주신 코드에서
elementDimensions.Height + 'px';
이 부분에 ‘+’ 가 빠졌더라구요. 그걸 몰라서 잠시 헤맸답니다어쨌든 해결해 주셔서 감사합니다 ^ ^p.s. 코드 삽입시 꺾쇄괄호(<)를 사용하면 WYSIWYG Editor를 사용할 때 알아서 바뀌어 버리더군요. 플러그인 파일 42번째 줄을 다음과 같이 바꾸면 어떨까 해서 제안드려요
"%\[spoiler.*(?:'([^']*)')?\s*(?:'([^']*)')?\s*(?:'([^']*)')?\s*\](.*)\[/spoiler\]%isU", "aj_callback", $content);
@티즈 :: 네 오페라에서는 FadeIn, FadeOut이펙트가 제대로 표현되지 않더군요.
http://script.aculo.us/ 에서 스크립트를 업데이트하거나 오페라 브라우저에서 수정될때까지는 기다려야 할것 같네요..
추가 :: 제가확인해보니 헤더부분에 effects.js.php, prototype.js.php스크립트를 두번 로딩하셨더군요. 아마도 ajax-comment를 적용하기위해한번, ajax-spoiler플러그에서 한번 이렇게 두번 로딩하셨습니다. 그중에서 테마폴더에 있는 파일을 수정하셨더군요. ajax-spoiler플러그인을 k2테마용으로 설치하시면 될겁니다.
아참, 그리고 위의 내용을 수정했는데도 오페라에서 작동을 안하네요. 확인 부탁드립니다.
http://ontiz.com/wp/post/idcard-changing
수정후에도 Opera에서는 phase 효과가 작동을 안하는군요. 아쉽습니다.
@티즈 :: effect.js중 BlindDown이라는 이펙트가 오페라에서 버그가 있더군요. 방금 구글신의 도움을 받아 해결법을 찾았습니다. 595번줄 (var elementDimensions….)바로 밑에 아래 코드를 추가해주세요.
if(oldHeight == '0px'){ oldHeight = elementDimensions.Height + 'px'; }
완벽하진 않지만 어느정도 쓸만해집니다. 제 블로그의 사이드 메뉴 제 블로그에 적용되어있으니 테스트 해보세요
플러그인이 Opera에서 오작동하네요. 한 번은 열렸다가 본문 내용과 겹치더니 다시 닫았다 열면 내용이 표시되지 않습니다. 확인 부탁드려요
WP-AreKorePopup 에러…
WP-ArekorePopup은 제가 처음으로 워드프레스 플러그인 형식으로 바꾼 놈인데 오늘 딕완님이 방명록에 이 플러그인이 082님이 만드신 Ajax-Spoiler와 충돌을 일으켜서 파이어폭스에서 제대로 작동하….
감사합니다. attr.match 만 빼봤더니 또 다른 곳에서 에러가 발생하길래 말았는데 그 if 구문 전체를 주석처리 하면 되는군요.제 포스트에 추가하고 트랙백 보내겠습니다.
@unfusion :: Arekorepopup.js 와 prototype.js가 충돌하는듯 합니다.
저도 자바 스크립트쪽을 끼워 맞추기 정도만 아는 수준이라 정확한 이유는 모르겠구요. Arekorepopup.js 파일의 521번줄~525번줄의 if 구문을 코멘트 처리하니 정상 작동하네요. IE, FF, prototype.js의 유,무에 상관없이 작동하는걸 확인했습니다.
[code lang=”javascript”]/* if (!ret && node.getAttributeNS && attr.match(/:/)) {
var prfx = attr.split(‘:’)[0];
var attr = attr.split(‘:’)[1];
return node.getAttributeNS(AP.ns[prfx], attr)
} else*/[/code]다른 어떤 문제를 야기시킬지는 장담못하겠네요..
Arekore Popup이 ajax spoiler와 충돌을 일으켜서 파이어폭스에서는 제대로 동작하지 않는데 제가 자바 스크립트쪽에 대해 잘 몰라서 여쭤봅니다. 파이어폭스 플러그인에서 자바 스크립트 콘솔을 살펴보니 두 플러그인을 같이 사용할 때 ArekorePopup 쪽에서 attr.match is not a function 이라는 에러메시지가 출력되더군요. 뭔가 충돌을 일으키는 듯한데 혹 짐작 가시는 부분이 있을까 싶어 여쭤봅니다.
@bum :
1. 워드프레스에서는 코멘트 수정,관리를 관리자 또는 권한을 가진 등록된 사용자만이 할 수 있습니다.(그만큼 덧글 달때 신중하자..라는게 워드프레스의 기본 방침이더군요… 이름과 이메일주소입력이 필수사항인것도 같은 이유에서 입니다.)
2. k2최신버전(r163)을 사용하시면, 문제없이 작동되는걸로 알고 있습니다. 그래도 해결되지 않는다면.. comments.php파일중
window.onload
가 있는 라인을 코멘트처리하거나 삭제해보세요.3. 사이드바 이펙트는 ‘소스보기’해서 살펴보시면 금방 아실 수 있습니다. k2테마를 사용하시거나 ajax-spoiler플러그인을 설치하셨다면 따로 스크립트 파일이 필요하거나 하지 않습니다.
4. 방명록에 대해서는 얼마전 글을 등록해 놓았으니 확인해 보세요.
코멘트 수정 할줄 모르겠군요 –; 질문이 있는데 저도 K2를 사용중인데 AJAX 코멘트 기능이 정상작동하질 않네요. 코멘트를 쓰고나면 아무것도 보이지 않아요. refresh할때 까지. 여기는 잘되는데 말이죠. 그리고 오른쪽 사이드바와 이 방명록은 어떤걸 쓰셨는지.. ~
우와~ 한번에 깨끗이 설치가 되는군요. 아주 잘 쓰고 있습니다~