Home 게시판 커뮤니티 Q&A IE에서 엑박뜨는 원인찾았는데 해결방법이…

3개 답변, 3 voices Last updated by Avatar of Jeong DaehoJeong Daeho 11 years, 11 months 전
  • Avatar of facebook_kasthefacebook_kasthe
    Participant
    @facebook_kasthe
    #14356

    안녕하세요 이전에 IE에서 엑박뜨는 원인에대해 글을썻는데

    오늘 갑자기 든생각에 원본테마에는 이미지가 잘나오는데 저한테만 안나와서 보니

    플러그인이 떠올라서 해제하다던중 MH-BOARD때문이란걸 확인하게 되었습니다.

    게시판플러그인인데..이게 게시판에서는 쓰겟지만 이미지가 나오는 메인페이지같은경우는 해당 보드와는 독립적으로 그와관련된 기능이 일체없어도되는데요..

    쉽게 요약해

    http://www.atfolio.co.kr

    여기서 소스보면

    <script type=’text/javascript’ src=’http://www.atfolio.co.kr/wp-content/plugins/mh-board/templates/js/mh_board.js?ver=0.1′></script&gt;

    이런부분이 들어가있는데 이걸 빼보고싶어요 그럼 충돌이안날거같아서. 허나 이건 그냥 메인페이지에서 어떻게못하는거같은데 어찌하면댈까요?

    Avatar of Matthew ParkMatthew Park
    Moderator
    @hackya
    #14357

    보통 워드프레스에서 자스/jQuery 는 enqueue_script 으로 적용됩니다.

    http://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts

    간혹가다 무개념 개발자들이 jQuery 를 하드코딩해서 집어 넣는 경우도 있는데, 요즘에는 이렇게 하는 개발자들은 드물고.. (한국은 잘 모르겠습니다.)

    그래서 일단 어디에서 저 자스가 include 되고 있는지 부터 찾으셔야 합니다.

    지금부터 시간절약하는 (삽질을 최대한 줄이는) 방법을 알려드리겠습니다.

    아직 검색툴을 사용하고 있지 않으시다면, 검색툴을 하나 설치하세요.

    꼭 유료제품을 구입하지 않으시더라도 이런 무료제품도 좋습니다.

    http://www.fileseek.ca/

    그래서 MH-BOARD 플러그인 내 어느 파일, 몇번째 줄 에서 mh_board.js 이 include 되고 있는지를 찾아냅니다.

    그후, 삭제.

    끝.

    //////////////////////////////

    문제는 제가 MH-BOARD 를 사용해보지는 않았지만, 어느 개발자고 필요없는 자스를 플러그인에 포함하는 경우는 없습니다.

    님이 원하시는 데로 mh_board.js 를 삭제하시면, 최소한 여러가지 오류, 아예 저 플러그인이 작동 안할 수 도 있습니다.

    이래저래 MH-BOARD 를 사용 못하게 되는거죠.

    제가 suggest 하는 해결책은?

    서로 충돌이 나지 않는 테마와 플러그인 사용을 하는 것이 가장 간단한 방법이고, 아니면 충돌나는 페이지에서만 저 자스를 exclude 하시는 방법이 있습니다.

    어느 특정 페이지에서만 어느 특정 자스를 include 하지 않기. – 이거는 여기 지면관계상 제가 다 설명드릴수도 없고, (하라고 하면 하겠지만, 시간이 몹시 많이 소요될 것 같고…. 기술적인 내용은 제가 한글 쓰는게 님이 영문 쓰는 것 만큼 쉽지 않습니다. 일상 대화는 쉬운데, 기술적인 부분을 한글로 쓰는게 무지 어렵더라구요..)

    대신, 링크를 알려드리겠습니다.

    http://www.fldtrace.com/wordpress/load-javascript-on-specific-pages-in-wordpress

    http://www.stephanmuller.nl/removing-wordpress-plugin-style-scripts-head/

    아래 링크로 가셔서 구글 번역기 돌리셔서 설명을 읽어보시면, 어렵지 않게 하실 수 있으실 겁니다.

    Avatar of Matthew Park
    Attorney, front-end developer, digital media artist, WordPress enthusiast, & a father of 4 wonderful children.

    Lives in Colorado.

    Avatar of facebook_kasthefacebook_kasthe
    Participant
    @facebook_kasthe
    #14937

    해보려햇더니 메인페이지와 보드가 스타일이 겹쳐서 안되겟더라구요..

    그후 보드만의 주소를보고

    // 메인페이지에선 오류가 나드라. 보드만 받아라
    if(isset($_GET[‘board_cat’])){

    }

    해서 분기처리하는걸로 해결되었습니다! 좋은정보라 댓글남겨둡니다.

    헤헤 감사합니다! 🙂

    Avatar of Jeong DaehoJeong Daeho
    Participant
    @ohead
    #24020

    음 .. js 파일 소스를 봐서는 에러가 나는 원인이 딱히 없을 것 같긴한데 ..

     

    제가 지금 들어가서 테스트해보니 여전히 엑박현상이 있네요.

    masonry 를 공식 배포하는 사이트에서도 ie에서 만큼은 엑박현상이 존재 하고 있었습니다.

    github 에서도 동일한 이슈로 의견을 주고 받는것도 확인했구요.

    masonry 에 포함된 imagesloaded 메서드(혹은 객체)로 구글링 해보시는게 해결하시는데 도움이 되실것 같아요

     

    제가 해결한 방법은  ie에서 imagesloaded 메서드를 제거한 후에

    로드 시점을 늦췄습니다. 완벽한 해결 방법이라고 보긴힘들지만..

     

4 글 보임 - 1에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.