이렇게 하면 사이트를 방문하는 사람 모두 이 스크립트를 내려받게 됩니다.(실행하든, 그렇지 않든 말입니다). 조건부 주석으로 제한할 수 있는 것은 브라우저가 스크립트를 실행할지 아닐지 뿐입니다."아~ 그런거였어?"라고 생각하면서 읽었는데 몇일 뒤에 팀내 프론트앤드 개발자분들과 회의를 하다가 조건부주석으로 처리하는 얘기가 나와서 "조건부 주석은 다운로드는 모두 받고 실행여부만 결정한다던데요?"라고 했더니 그렇지 않다고 얘기를 하셨다. 흠.. 에릭 마이어라서 믿었는데 책이 잘못된건가(번역이 잘못되었거나...) 확인해 볼 필요가 있다고 느껴졌다. 일단 조건부주석은 IE에서만 동작하는 주석으로 MSDN에 따르면 IE10부터는 표준모드에서 기본으로 지원하지 않는다고 한다.
- 에릭 마이어의 CSS 노하우 36페이지
마침 부트스트랩 사이트에 테스트하기 딱 좋은 조건부 주석이 들어가 있었다. 당연히 파이어폭스나 크롬에서는 html5shiv.js를 다운로드 받지 않는다.
IE를 개발자도구가 형편없어서 네트워크탭같은게 없으므로 Fiddler를 사용해서 다운로드 받는 파일을 확인했다. 조건부 주석이 IE9 이전버전에서 html5shiv.js를 사용하도록 했으므로 IE8에서 테스트했을 때 정상적으로 html5shiv.js 파일을 다운로드 받는다. 그럼 이제 관건이 IE9에서의 테스트이다. 에릭마이어의 CSS 노하우책에 나온 대로라면 html5shiv.js를 실행하진 않더라도 다운로드는 받아서 트래픽을 소비해야 한다.
다운로드 안받는구만!!!!! 원서는 없어서 비교할순 없지만 내가 잘못이해한건지 여러번 다시 읽어봐도 책에서 설명한 내용이 잘못되었다는 생각밖에 들지 않는다. 설명되어 있다고 쉽사리 다 믿어서는 안되겠네 ㅡㅡ;;
hahaha 축!
ㅋㅋㅋㅋ
원본은
http://books.google.co.kr/books?id=LN6PtSIlvk4C&pg=SA1-PA38&lpg=SA1-PA38#v=onepage&q&f=false
여기에서 확인하시면 될 것 같습니다.
아~ 원문이 공개되어 있었군요... 흠.. 원문을 봐도 문장이 좀 어려워서 정확한 의미 파악이 어려워서 원서가 틀린건지 역서가 틀린건지 잘 모르겠군요.
이 사항이 W3C의 HTML이나 CSS 명세서에 명확히 규정되지 않은 것들인지 궁금하네요. 저도 전체적으로 한번 정리해봐야겠는데요. 좋은 주제 감사합니다. ^^;
그런데 IE에 네트웍 탭이 있지 않나요? 설마 옛날 버전을 사용하시진 않을 텐데...
MS에서 만든듯하고 다른 브라우저에서는 그냥 주석이니까 딱히 명세에 들어있진 않은듯 하군요....
IE에도 네트워크탭이 들어왔었군요. 9부터 들어온건가요? IE로는 거의 개발을 하지 않으니 몰랐네요..(IE 개발자도구는 거의 신뢰하질 않다보니..)
책에 나온 내용은 조건부 주석 안에 있는 내용을 내려받는다는 의미 아닌가요?
예를들어 위의 예제처럼 script file 링크가 아니고, script 코드 자체가 있다면 다 내려받는다.
추측일 뿐이지만. ㅎ
그건 스크립트를 내려받는게 아니고 HTML파일에 포함된 내용이므로 조건부주석을 설명하면서 따로 언급할 필요는 없었던 부분이라고 생각합니다. 번역하신 분도 잘못이해할 수도 있는 모호함에 동의하셔서 정오표에 추가되었습니다.
http://www.insightbook.co.kr/books/programming-insight/%EC%97%90%EB%A6%AD-%EB%A7%88%EC%9D%B4%EC%96%B4%EC%9D%98-css-%EB%85%B8%ED%95%98%EC%9A%B0/%EC%A0%95%EC%98%A4%ED%91%9C-12
관리자만 볼 수 있는 댓글입니다.
호환성 보기라서 그렇것 같은데요 그냥 IE8에서도 안보이나요?
그래도 안된다면 자바스크립트로 비디오 태그를 갈아치우면 될것 같습니다.