2011-01-11 5 views
5

IE에서 documnet.write를 사용하여 iframe을 삽입하려고 시도했지만 성공했습니다. 그러나 그 이후의 모든 html 코드는 실행되지 않습니다.iframe 이후의 HTML 코드는 document.write를 사용하여 실행되지 않습니다.

document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>"); 

여기서 "Bye Bye"문자열은 실행되지 않습니다. 일순간

당신이 시행 착오를 수행 한 후 브라우저의 URL

javascript:document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>"); 

를 입력 할 수 있습니다 확인, 나는 다음과 같은 방법으로 iframe 태그를 닫을 경우, 작동 것을 발견했다.

<iframe ...></iframe> instead of <iframe ... /> 

이제 문제는 "나는 <iframe ../><iframe .. ></iframe>에를 변경할 수있는 기회를 가질 수 없습니다"입니다. 당신의 친절한 충고를 원합니다.

+0

사용하고있는 문서 타입? –

+0

@Pekka Hoque

+0

aww, 이것은 해결되지 않을 수 있습니다. 문자열을 변경할 방법이 전혀 없습니까? XHTML 문서에서 IE를 깨는 '

1

을 (즉, 미리 읽을 수는 없습니다.) 그리고 코드의 document.write 부분을 읽으면 적어도 문서의 일부 코드를 편집/삽입 할 수있는 권한이 있다고 가정합니다. 그렇지 않으면 문자 그대로 아무것도 할 수 없으므로이 질문을하지 않아야합니다. 이런 일을하기 전에

그런 식으로, 일부 코드를 삽입하여 document.write() 방법을 템퍼 시도 :

document.write=function(str){ 
    str=str.replace(/<iframe([^>]*?)\/>/ig,'<iframe$1></iframe>'); 
    return document.writeln(str); 
} 
관련 문제