얼마전 자바스크립트로 syntax highlighting 기능을 구현해서 흡족한 마음을 감추기도 전에 삑사리가 발생했다. 코드가 뭉텅이로 잘려나간 것... -_-;;
코드를 검토해보니 티스토리 편집기에서 줄바꿈 문자 뒤에 <BR/> 태그를 덧붙이면서 발생한 것.
PRE 태그 안에 <BR/> 이 섞여 있으면 하나의 단일 텍스트가 아니라
"TEXT" + Element + "TEXT" + Element + ...
와 같이 여러개로 child node 가 발생한다.
간단히 파싱할 때 text 가 아닌 노드는 무시함으로써 문제를 해결했다고 좋아했으나 웬걸.. 기존에 작성된 문서들을 수정하고 저장하면 코드의 간격이 계속해서 벌어지는 현상 발생...
이상하다 싶어서 편집기의 모드를 이리저리 바꿔보는데..
얼씨구나 위지윅모드와 html 모드를 번갈아 다니며 코드 조각을 작성할때마다 이전에 입력된 코드조각들에 <BR/>이 메뚜기떼처럼 엄청나게 들러붙는것.. 이상하다 싶어서 검색을 해보니 이미 몇년 전부터 불거진 문제였다.
2007년 포럼글...
2008년 포럼글...
2009년 불평과 불만의 하소연...
(기타 등등 무쟈게 많음)
모드를 전환할때마다 PRE 태그내에서 줄바꿈에 <BR/>이 계속 붙는 것이니 자바스크립트로 어떻게 할 수도 없다. 편집 모드 전환을 할때마다 BR이 늘어나고 또 이 BR들 뒤에 줄바꿈 (CR, LF) 문자가 덧붙고 이게 또 BR을 낳고.....무슨 마태복음도 아니고..
이리저리 해결책을 찾아보다 PRE 대신에 TEXTAREA 를 써서 간신히 문제를 해결한 듯... 다행히 TEXTAREA 에 대해서는 모드 전환시에도 BR 태그가 안붙는다.(다행 다행)
이렇게 해놓고 보니 편집기에서는 아래와 같이 보이는데 좀 어리버리해보여도 그런대로 쓸만한듯....
그나저나 몇년째 계속해서 신고되어온 문제점이 아직도 해결이 안되고 있다니 놀랍다.
코드를 검토해보니 티스토리 편집기에서 줄바꿈 문자 뒤에 <BR/> 태그를 덧붙이면서 발생한 것.
엔터 때려넣으면 그 자리를 br 태그로 치환한다.
"TEXT" + Element + "TEXT" + Element + ...
와 같이 여러개로 child node 가 발생한다.
간단히 파싱할 때 text 가 아닌 노드는 무시함으로써 문제를 해결했다고 좋아했으나 웬걸.. 기존에 작성된 문서들을 수정하고 저장하면 코드의 간격이 계속해서 벌어지는 현상 발생...
이상하다 싶어서 편집기의 모드를 이리저리 바꿔보는데..
전환할때마다 <PRE>태그 내에서 <BR/>이 추가됨.
2007년 포럼글...
2008년 포럼글...
2009년 불평과 불만의 하소연...
(기타 등등 무쟈게 많음)
모드를 전환할때마다 PRE 태그내에서 줄바꿈에 <BR/>이 계속 붙는 것이니 자바스크립트로 어떻게 할 수도 없다. 편집 모드 전환을 할때마다 BR이 늘어나고 또 이 BR들 뒤에 줄바꿈 (CR, LF) 문자가 덧붙고 이게 또 BR을 낳고.....무슨 마태복음도 아니고..
이리저리 해결책을 찾아보다 PRE 대신에 TEXTAREA 를 써서 간신히 문제를 해결한 듯... 다행히 TEXTAREA 에 대해서는 모드 전환시에도 BR 태그가 안붙는다.(다행 다행)
PRE 대신에 TEXTAREA로 바꿈
'생각한조각' 카테고리의 다른 글
Sun 웹서버 7.0 (0) | 2010.05.11 |
---|---|
블로그 디자인 리뉴얼 (0) | 2010.04.27 |
집중력에 관한 단상... (0) | 2009.06.13 |