전체 페이지뷰

2011년 6월 9일 목요일

[ie 버그] iframe innerHTML 문제

iframe id = "ifid" 라고 가정.
document.getElementById('ifid').contentWindow.document.body.innerHTML 로
iframe의 내용을 가져올수 있다.

but!! 가져오는것은 문제가 되지 않는다.

document.getElementById('ifid').contentWindow.document.body.innerHTML = '<P><A href="">aaaaaaaaa</A></P>
<P><A href="/aa/aa.html">aaaaaaaaaaa</A>
<P><A href="/aa.html">aaaaaaaaa</A></P>
<P><A href="/aa/bb/cc.html">aaaaaaaaa</A></P>
<P><A href="cc.html">aaaaaaaaa</A></P>
<P><A href="#none">aaaaaaaa</A><BR><BR><BR>sdfsdfsdfsdfsdf<BR><BR><BR><BR></P>
<P><A href="http://www.abc.com">aaaaaaaaa</A></P>
<P><A href="www.abc.com/index.html?#none">aaaaaaaa</A></P>
';
을 하고
alert(document.getElementById('ifid').contentWindow.document.body.innerHTML);
를 하면 ie에서는 현재 자신의 도메인이 각 href속성에 붙어버린다. (설명이 좀 이상하지만 직접 해보면 알거임.)

하고자 하는 말은 document.getElementById('ifid').contentWindow.document.body.innerHTML은 get은 문제가 없으나 set이 문제인 것이다.

이 경우 set은 document.getElementById('ifid').contentWindow.document.write 메소드를 사용하면......극~뽁~