cdata로 검색하다가 들어왔습니다. 아주 가끔 눈팅(?)만 했었는데, 한가지 물어볼 것이 있어서 댓글 답니다.
위의 코드라면 주석처리 문이 중첩되는데, 중첩되면 안된다고 알고 있습니다.
<!-- <!-- 정말? --> -->
IE에서의 문제가 혹시 그런 문제가 아닐지...
제가 잘 못 알고 있다면, 가르침을 부탁드립니다. ^^;
겐도2008/10/31 21:35
네 주석은 중첩을 허용하지 않습니다. 심지어 주석중간에 연속된 하이픈("--")이 나와서도 안됩니다.
하지만 위의 케이스는 처음의 주석 시작문구가("<!--") 태그의 시작으로 보아야 하는지 CDATA영역이니 무시해야 되는지에 대한 차이입니다. 위에 트랙백을 따라가서 읽어 보시면 잘 설명이 되어 있는데 왠만하면 브라우저들이 무시하고는 주석시작 태그로 인식합니다.
즉 스크립트에 데이터를 그대로 스트링으로 적을 때 단순히 따옴표 등 뿐만이 아니라 연속된 하이픈도 신경써 줘야 한다는 의미로 보시면 됩니다. 기존의 단순한 이스케이핑 함수들로는 운나쁘면 스크립트 에러가 납니다.
cdata로 검색하다가 들어왔습니다. 아주 가끔 눈팅(?)만 했었는데, 한가지 물어볼 것이 있어서 댓글 답니다.
위의 코드라면 주석처리 문이 중첩되는데, 중첩되면 안된다고 알고 있습니다.
<!-- <!-- 정말? --> -->
IE에서의 문제가 혹시 그런 문제가 아닐지...
제가 잘 못 알고 있다면, 가르침을 부탁드립니다. ^^;
네 주석은 중첩을 허용하지 않습니다. 심지어 주석중간에 연속된 하이픈("--")이 나와서도 안됩니다.
하지만 위의 케이스는 처음의 주석 시작문구가("<!--") 태그의 시작으로 보아야 하는지 CDATA영역이니 무시해야 되는지에 대한 차이입니다. 위에 트랙백을 따라가서 읽어 보시면 잘 설명이 되어 있는데 왠만하면 브라우저들이 무시하고는 주석시작 태그로 인식합니다.
즉 스크립트에 데이터를 그대로 스트링으로 적을 때 단순히 따옴표 등 뿐만이 아니라 연속된 하이픈도 신경써 줘야 한다는 의미로 보시면 됩니다. 기존의 단순한 이스케이핑 함수들로는 운나쁘면 스크립트 에러가 납니다.