Error!! Could not load style.css
SAVE THE DEVELOPERS <!> 버그 많고 비효율적인
IE6을 업그레이드 해주세요!
※ 이 배너는 IE6에서만 표시됩니다.


    

미디어로그

오늘 ABP에 관한글을 포스팅했습니다.
사실 어제 오후에 잠깐 쓰고 저녁에 마무리 하려고 한건데 저녁에 마무리 하려고 보니 내용이 너무 길어져서 오늘 완성했습니다.
아무튼 내용이 길다보니 고급사용법은 숨김처리를 했습니다.
글을 다쓰고 보니 firefox에서 숨김처리한 곳을 클릭해도 내용이 보이지 않더군요. IE에서는 이상이 없었습니다. 그래도 부랴부랴 숨김처리한것을 모두 해제했습니다.

오늘 쓴글만 그러나 하고 다른 글을 봤는데 다른 글도 그러는 겁니다. 혹시 내 블로그에서만 그러나 하고 다른 분의 블로그를 봤는데 제 블로그만 그러더군요..-_-

아 정말 원인이 뭐지 하면서 스킨을 분석하고, 자바스크립트 분석하고, 소스분석하고 다했습니다. 그런데 딱히 원인이 될만한 이유를 찾지 못하겠더군요.
그래서 최근에 스킨을 수정한것을 바탕으로 스크립트도 없애보고  했습니다. 그러다가 원인을 찾았습니다.

본문이 article이라는 div객체에 오는데 그 article에 CSS 선택자 :first-letter를 지정하면 그러더군요. 일단 동영상을 보시기 바랍니다.


어젠가 그제 블로그글 첫번째 글자가 크게 나오면 좀 괜찮겠다 싶어서 다음과 같은 스타일시트를 넣었습니다.
.article:first-letter{
    font-size:30px;
    color:#33a;
}
article에 들어가는 본문 첫번째 문자를 크기를 30px로, 색을 #33a로 하라는 겁니다.(참고로 :first-letter 선택자는 IE에서는 7이상에서 표현됩니다.) 동영상을 보시면 아시겠지만, 이것을 넣으면 파이어폭스에서 숨김처리하는 부분이 눌러도 보이지 않게 되는것입니다. 그런데 이것은 파이어폭스3에서도 그러더군요. 얼마전 공개한 RC1에도 마찬가지입니다.

일단 본문에서 숨김처리는 toggleMoreLess라는 함수를 사용합니다. 티스토리자체에서 제공하는 스크립트인데요. 핵심은 숨기는 부분의 스타일을 display:none;속성을 줬다가 안줬다가 하는 것입니다. 이 스크립트자체에는 문제점을 발견하지 못하였습니다.

그래서 제가 자체적으로 만든 숨김처리 스크립트를 써보았습니다. 그냥 옆에 최근댓글 같은거 숨기는 스크립트인데요.. 원래 이 스킨의 원본에 포함되어 있는 스크립트를 제가 살짝 개조를 한거죠.

그건 잘 동작을 하더군요. 그런데 이러한 사태가..



문제점은 보시면 아시겠지만..
  1. 숨긴부분이 보였다가 안보였다가 할때 첫번째 문자가 커졌다 작아졌다 합니다.
  2. 티스토리에서 만든 숨김스크립트를 한번 작동하면 제가 만든 스크립트는 작동을 하지 않습니다.
분명 두개의 스크립트들은 별개로 작동하고, 변수도 겹치지 않는데요.. 파이어폭스3에서는 1번문제는 발생하지 않는데 2번문제는 발생하는군요. 참 이상하고 오묘한 현상이 아닐 수 없습니다.
더군다나 이 현상들은 전부 article에 :first-letter선택자를 주었을때 발생하며 이것을 빼면 모두 정상작동 합니다.(같은 유사 앨리먼트 선택자 first-line을 줘도 이런 문제는 발생하지 않습니다.) 게다가 다른 브라우저에서는 전혀 이러한 현상이 없으니 더욱 오묘하군요..-_-

나름대로 결론 : 파이어폭스에서 CSS선택자 :first-letter를 설정한 앨리먼트의 자식 앨리먼트에 display:none;속성을 주고, 그것을 자바스크립트로 제어하면 문제가 발생한다.

좀더 다양한 환경에서 실험을 해봐야 알겠지만 티스토리쪽 버그이기 보다는 파이어폭스쪽 버그같습니다. 저 엄청난 버그를 발견한 건가요?

덧1. 테스트해보니.. 파이어폭스의 버그가 맞습니다. 티스토리는 그다지 관계없네요.. 그래서 제목을 수정합니다.
저작권 안내
  • 이 글의 내용 전체를 복사해서 다른 곳에 게시하는 것을 금합니다.
  • 이 글의 주소를 알려주거나 링크하는 것만 허용합니다.
  • 이 글의 일부를 인용하는 것은 허락하되, 반드시 원 저작자출처를 표기해야 합니다.
  • 이 글을 영리목적으로 이용할 수 없습니다.
  • 위 조건들을 만족한다면 별도의 허락을 받지 않아도 됩니다.
  • 자세한 사항 및 부칙, 예외 등은 여기를 참고하세요.
이 글을 추천해 주세요!
  • 블로그코리아에 블UP하기


엮인글보내기 주소 : http://jugug.net/trackback/106 관련글 쓰기

악플은 NO! 스팸도 NO! 여러분의 댓글이 글의 가치를 높입니다.
  1. BlogIcon BLUE'nLIVE 2008/05/24 14:44  댓글주소  수정/삭제  댓글

    이야~ 대단대단.
    이런 버그를 찾는다는 자체가 신기할 뿐입니당~