티스토리 뷰

728x90
반응형
conditional comment

이것은 IE에서 사용가능한 문법으로 조건부 주석이라고 부르기도 합니다.

마치 주석을 프로그램의 조건문처럼

조건에 true, false 여부에 따라 해당 구문을 주석으로 처리할지

실제 렌더링하는 HTML로 인식할지 여부를 정할수 있습니다.


이 조건부 주석으로 IE에서만 렌더링 하는 코드를 넣을 수도 있고

IE에서도 버전별로 특정 코드를 렌더링하도록 넣을수 있습니다.


conditional comment 라고 검색하시면 굉장히 많은 자료들을 발견하실수 있습니다.

여기서는 이것이 주제가 아니기에 여기서 마칩니다.



조건부 주석을 쓰고 계신분들중에서 asp와 조건부 주석이 만날때 에러를 만나게 됩니다.

바로 asp에서 파일을 include 할때 쓰는 syntax와

조건부 주석의 syntax가 충돌해서

asp 구문에러가 발생합니다.



<!--#include file="/include/front_top.asp"-->


이것이 ASP에서의 include 문법이고


아래의 것은

    <div id="main_flash">
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
        width="1087" height="640">
            <param name="movie" value="/flash/index_gnb.swf">
            <param name="wmode" value="transparent" />
            <!--[if !IE]> <-->
            <object type="application/x-shockwave-flash" data="flash/index_gnb.swf" width="1087" height="640">
            <param name="wmode" value="transparent" />
            </object>
            <!--> <![endif]-->
        </object>
    </div>



조건부 주석이 사용된 코드의 예 입니다.


이때 asp 페이지에 위의 코드가 들어간 경우

asp는 구문에러 혹은 파싱에러를 나타냅니다.

바로 조건부주석과 asp 문법과의 혼동으로 일어난 결과 입니다.



이러한 경우 다음과 같이 에러를 피해갈 수 있습니다.


index.asp

    <div id="main_flash">
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
        width="1087" height="640">
            <param name="movie" value="/flash/index_gnb.swf">
            <param name="wmode" value="transparent" />
            <!--#include file="flash.txt"-->
        </object>
    </div>
;


조건부주석을 포함한 코드를 블록으로 잘라내어

별도의 파일로 만든후 이 파일을 include 하는 방식으로 넣으면 됩니다.



flash.txt

            <!--[if !IE]> <-->
            <object type="application/x-shockwave-flash" data="flash/index_gnb.swf" width="1087" height="640">
            <param name="wmode" value="transparent" />
            </object>
            <!--> <![endif]-->




위의 사례는 플래시에서 사용된 조건부 서식의 예였는데

플래시 뿐만 아니라 모든경우의 조건부서식에서 사용하실수 있습니다.

서버측언어가 ASP인경우 참고하세요~
728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함