IE 에서 object data 값에 대한 request 문제

IE에서 플래시 대체 컨텐츠 확인하기 라는 글에서 플래시 object에 대한 크로스 브라우징 코드를 설명한 적이 있습니다. object 코드 사용에 대한 자세한 내용은 신현석님의 포스트를 참고하시면 좋을 듯 합니다.

어쨌든, 기존 document.write를 이용하여 js로 다시 찍는 방법보다 conditional comment와 js 함수를 이용하여 직접 HTML에 삽입하는 방식이 훨씬 접근성이 좋기 때문에 그동안 여러 프로젝트에 적용시켜왔는데 엄청나게 혼란을 주는 사건이 발생하였습니다.

대충 이러한 소스가 있다고 가정하면 당연히 IE에서는 IE부분만 해석하고 넘어가리라고 알고 있었습니다. 그러나 이게 왠일… request를 확인할 수 있는 IEWatch로 돌려본 결과 타 브라우저를 위한 object data 부분까지도 request를 받아오고 있었습니다.

object 크로스브라우징 코드를 IE Watch로 돌렸을때 캡쳐화면

현재 진행중인 프로젝트는 이러한 이유로 인해 모든 플래시를 js로 빼고 embed를 이용한 방법으로 바꾼상태입니다(embed에 대해선 request 하지 않더군요) 혹시나 해서 YSLOW를 이용하여 FF에서도 같은 사이트에서 시험해보았는데 FF는 한번씩만 요청하더군요.

그동안 나름 표준과 접근성을 지켜가며 플래시 오브젝트를 사용하고 있다고 생각해왔는데, IE 사용자들에게 2배의 request를 받는다는 것은 문제가 될 부분입니다. 이올라스 소송 문제가 해결되어 이젠 외부JS를 처리하지 않는 날이 온다고 해도 ie를 위해 embed를 계속 사용해줘야 하나요?
머릿속이 복잡하군요 :(

'IE 에서 object data 값에 대한 request 문제' 에 대한 2개의 댓글들이 있습니다

  1. Gravatar wystan (3월 27th, 2008) :

    안녕하세요~ 호이님 ^^

    테스트로 페이지를 하나 만들어서 아파치 서버에 올린 다음 IE로 확인했는데 swf 파일에 대한 http request는 한 번 뿐이었습니다.

    중복 request가 발생하는 이유는 IEWatch의 버그이거나, 아니면 플래시 삽입 소스 중 conditional comment 부분에 오류가 있어서 그런 것이 아닐까 생각되네요.

    정확한 conditional comment 문법은 MSDN conditional comment 페이지를 참고하시기 바랍니다.

  2. Gravatar 호이♡ (3월 27th, 2008) :

    위스턴님이 로그를 보시고 말씀해주셔서 다시한번 확인해보니 IE에서 이올라스 문제로 인해 innerHTML로 한번 더 찍어주는 부분에서 발생한 request였습니다. HTML로 오브젝트를 불러오면서 이올라스 문제를 해결하고 request는 한번만 불러오게 할수 있는건 object 시작 태그만 document.write를 이용해서 찍어주는 방법뿐일 것 같은데 IE에서는 object 태그 안의 스크립트는 실행을 못시키는 것 같습니다. 위스턴님 말씀대로 이올라스 문제가 사라지기 전까지는 JS를 이용한 방식이 가장 좋은 것 같네요.

Comment 작성

  • 이름, 이메일은 필수 항목입니다
  • 일부 XHTML 태그를 사용할 수 있습니다
    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
  • 태그를 설명할때는 <> 대신 &lt;&gt; 혹은 []로 입력해주세요 :)