물어보기XpressEngine

얼마전에 HTML 5 와 5.1 에서 더이상 <img> 나 <br> 등에 Closing tag(/) 가 필요없다는 글을 썼었는데요. [관련 글 바로가기]

 

다른 곳들은 다 "W3C 권고사항"에 맞게 수정을 하였는데, CKEditor 에서 글 작성/수정 시에는, <img>, <br > 등에 자동으로 Closing tag(/) 가 붙게 되어서 Closing tag 를 제거 할 수 없는 상황입니다.

 

editor/tpl/js 내에 editor.js 와 editor.min.js 그리고 uploader.js 와 uploader.min.js 파일 내에서 관련 항목들을 찾아서 Closing tag 를 삭제했는데도 여전히 자동으로 붙습니다. 아마 다른 곳에도 있는 것 같은데... 어디를 수정해야 하는지 도움을 주시면 감사하겠습니다.

 

그리고 앞으로 XE 나 Rhymix HTML 5 를 지원하기 때문에 W3C 권고사항에 따라 이제 Closing tag 가 필요없는 것들에 대해서는 코어에서 제거를 해줘야 하지 않을까 하는데... 뭐, 권고사항이라 꼭 따르지 않아도 되긴 하지만... 안 따르기도 그렇고 좀 애매하긴 합니다. ^^

  • profile
    윤삼 2017.08.10 09:00:23
    클로징 태그를 안 붙여도 된다는 건가요, 아니면 안 붙이는 게 좋다는 건가요.
    이게 오류를 일으킬 정도의 문제가 아니라면 크게 염려하지 않아도 되는 거 아닌가요?
  • profile
    Paul 2017.08.10 09:07:37

    엄... 우선 W3C 에서는 안 붙여도 된다고 하구요. ^^ W3C 권고사항이니깐... 안 붙이면 좋겠죠?! ^^;;
    네. 말씀하신 대로 오류를 일으키는 것 하고는 전혀 상관이 없습니다. 단지 "지금 당장은 아니지만" 앞으로 HTML 5 가 자리를 완전히 잡아가게 될텐데(지금도 이미 HTML5 를 많이들 쓰고 있지만요), W3C 표준 권고사항을 지금부터 준수하면 좋지 않을까 해서 말씀 드려 봤습니다.

  • profile
    윤삼 2017.08.10 09:23:00
    오 그렇다면 저도 앞으로는 클로징 태그를 자제해야겠네요. 저는 이제야 클로징 태그 집착을 시작했는데 벌써 이별이라니ㅋㅋㅋ
  • ?
    misol 2017.08.10 09:25:22
    안붙여도 된다는 허락의 의미라서 붙어있어도 문제가 없습니다. XHTML 과의 하위호환성을 고려해서도 그렇게 표준이 제정되었다고 알고 있습니다.

    P.S. HTML4.01 은 Self-closing 을 하지 않았고, XHTML 은 반드시 Self-closing 해야 했습니다. 이 둘을 절충한 것이 HTML5 표준이라서 문구가 그렇다고 알고 있습니다. (닫든지 말든지 상관없다. 마음대로 하라는 의미)
  • profile
    Paul 2017.08.10 09:49:56

    misol 님의 말씀이 맞습니다! 하위버전과의 호환성 때문에라도 지금은 그냥 권고사항인 것 같습니다... 근데 모르죠뭐,, 앞으로 시간이 좀 더 흐르면 HTML 5 표준이 완전히 자리를 잡을 수도 있구요... 암튼 혹시 위의 저의 질문에 답변해 주실 분 안계신가요? ^^

  • profile
    기진곰 2017.08.10 15:24:05
    CKEditor 개발팀이 더이상 안 붙이겠다고 하면 더이상 안 붙이는 거죠. XE 쪽에서 이래라 저래라 할 문제가 아닙니다.

    지금도 안 붙이는 옵션이 있을지 모르니 CKEditor 매뉴얼(영문)을 뒤져보세요.
  • profile
    Paul 2017.08.11 04:04:41

    말씀하신 대로 찾아보니 안 붙이는 옵션이 있었네요. 죄송합니다. 잘 모르면서 XE 에서 자동으로 클로징 태그를 붙이는 줄로만 알았습니다. ㅠ.ㅠ 답변 감사합니다...

    CKEditor 폴더 내에 위치한 config.js 파일에 다음의 내용을 추가하면 클로징 태그가 붙지 않습니다.

    CKEDITOR.on( 'instanceReady', function( ev ) {
    ev.editor.dataProcessor.writer.selfClosingEnd = '>';
    });


서버에 요청 중입니다. 잠시만 기다려 주십시오...