Ajax Spoiler ver.0.3


워드프레스 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님께 감사드립니다.:D
  • 문제가 있으면 이 페이지에 코멘트 남겨주시기 바랍니다.
  • 이 플러그인은 Simple-Spoiler를 수정한 버전입니다.
  • 플러그인의 개선에 대한 의견이나, 고칠점이 있다면 언제든지 코멘트 남겨주세요.;)

더이상 k2테마용 버전이 따로 필요치 않게되어 파일을 삭제 했습니다.

추가 : 플러그인이 업데이트되어, 버그가 있는 예전 버전을 삭제했습니다.


16 responses to “Ajax Spoiler ver.0.3”

  1. @티즈 :: 제가 WYSIWYG Editor를 사용하지 않아서 그 점을 몰랐었네요. 기존에 쓰던 코드들이 있으니 교체하는건 좀 그렇구요, [ spoiler][/spoiler ]도 인식하도록 다음 버전에서 추가해야겠네요. 좋은 제안 감사합니다~;)

    추가 :: 방금 위의 제 답변을 보니 ‘+‘가 빠져있었네요.. 코드를 복사해서 붙이는 과정에서 오류가 있었나보네요.:(

  2. 그런데 082net님께서 올려주신 코드에서 elementDimensions.Height + 'px'; 이 부분에 ‘+’ 가 빠졌더라구요. 그걸 몰라서 잠시 헤맸답니다^^;어쨌든 해결해 주셔서 감사합니다 ^ ^

    p.s. 코드 삽입시 꺾쇄괄호(<)를 사용하면 WYSIWYG Editor를 사용할 때 알아서 바뀌어 버리더군요. 플러그인 파일 42번째 줄을 다음과 같이 바꾸면 어떨까 해서 제안드려요 :)
    "%\[spoiler.*(?:'([^']*)')?\s*(?:'([^']*)')?\s*(?:'([^']*)')?\s*\](.*)\[/spoiler\]%isU", "aj_callback", $content);

  3. @티즈 :: 네 오페라에서는 FadeIn, FadeOut이펙트가 제대로 표현되지 않더군요.
    http://script.aculo.us/ 에서 스크립트를 업데이트하거나 오페라 브라우저에서 수정될때까지는 기다려야 할것 같네요.. :(

    추가 :: 제가확인해보니 헤더부분에 effects.js.php, prototype.js.php스크립트를 두번 로딩하셨더군요. 아마도 ajax-comment를 적용하기위해한번, ajax-spoiler플러그에서 한번 이렇게 두번 로딩하셨습니다. 그중에서 테마폴더에 있는 파일을 수정하셨더군요. ajax-spoiler플러그인을 k2테마용으로 설치하시면 될겁니다.

  4. @티즈 :: effect.js중 BlindDown이라는 이펙트가 오페라에서 버그가 있더군요. 방금 구글신의 도움을 받아 해결법을 찾았습니다. 595번줄 (var elementDimensions….)바로 밑에 아래 코드를 추가해주세요.
    if(oldHeight == '0px'){ oldHeight = elementDimensions.Height + 'px'; }
    완벽하진 않지만 어느정도 쓸만해집니다. 제 블로그의 사이드 메뉴 제 블로그에 적용되어있으니 테스트 해보세요;)

  5. 플러그인이 Opera에서 오작동하네요. 한 번은 열렸다가 본문 내용과 겹치더니 다시 닫았다 열면 내용이 표시되지 않습니다. 확인 부탁드려요 8O

  6. WP-AreKorePopup 에러…

    WP-ArekorePopup은 제가 처음으로 워드프레스 플러그인 형식으로 바꾼 놈인데 오늘 딕완님이 방명록에 이 플러그인이 082님이 만드신 Ajax-Spoiler와 충돌을 일으켜서 파이어폭스에서 제대로 작동하….

  7. 감사합니다. attr.match 만 빼봤더니 또 다른 곳에서 에러가 발생하길래 말았는데 그 if 구문 전체를 주석처리 하면 되는군요.:)제 포스트에 추가하고 트랙백 보내겠습니다.

  8. @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]다른 어떤 문제를 야기시킬지는 장담못하겠네요.. -_-;

  9. Arekore Popup이 ajax spoiler와 충돌을 일으켜서 파이어폭스에서는 제대로 동작하지 않는데 제가 자바 스크립트쪽에 대해 잘 몰라서 여쭤봅니다. 파이어폭스 플러그인에서 자바 스크립트 콘솔을 살펴보니 두 플러그인을 같이 사용할 때 ArekorePopup 쪽에서 attr.match is not a function 이라는 에러메시지가 출력되더군요. 뭔가 충돌을 일으키는 듯한데 혹 짐작 가시는 부분이 있을까 싶어 여쭤봅니다.

  10. @bum :
    1. 워드프레스에서는 코멘트 수정,관리를 관리자 또는 권한을 가진 등록된 사용자만이 할 수 있습니다.(그만큼 덧글 달때 신중하자..라는게 워드프레스의 기본 방침이더군요… 이름과 이메일주소입력이 필수사항인것도 같은 이유에서 입니다.)

    2. k2최신버전(r163)을 사용하시면, 문제없이 작동되는걸로 알고 있습니다. 그래도 해결되지 않는다면.. comments.php파일중 window.onload가 있는 라인을 코멘트처리하거나 삭제해보세요.

    3. 사이드바 이펙트는 ‘소스보기’해서 살펴보시면 금방 아실 수 있습니다. k2테마를 사용하시거나 ajax-spoiler플러그인을 설치하셨다면 따로 스크립트 파일이 필요하거나 하지 않습니다.

    4. 방명록에 대해서는 얼마전 글을 등록해 놓았으니 확인해 보세요.

    ajax-spoiler플러그인이 설치되었다는 전제로 활용 할 수 있는 여러가지 효과나, 기능들을 차차 설명해볼 생각입니다. 즐거운 하루 되세요~:)

  11. 코멘트 수정 할줄 모르겠군요 –; 질문이 있는데 저도 K2를 사용중인데 AJAX 코멘트 기능이 정상작동하질 않네요. 코멘트를 쓰고나면 아무것도 보이지 않아요. refresh할때 까지. 여기는 잘되는데 말이죠. 그리고 오른쪽 사이드바와 이 방명록은 어떤걸 쓰셨는지.. ~