2010-07-28 4 views
0

의 다음 HTML은 IE7에서 렌더링되지만 Firefox 또는 Chrome에서는 렌더링되지 않습니다.IE7에서는 HTML이 렌더링되지만 Firefox 또는 Chrome에서는 렌더링되지 않습니다

var content = "<!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.2//EN\"\"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd\"> 
<html> 
<body style=\"background-color:#0C0C0C; color:#FFFFFF\"> 
Please Enter the credentials 
<form name=\"dynamicform\"> 
<ul class=\"edgetoedge\" style=\"background-color:#0C0C0C;\"><li><div id=\"errorDiv\" style=\"color:red\"> </div></li> <li> <input id=\"Phone Number:_minLength\" type=\"hidden\" value=\"16\" /> </li> 
<li> </ul> </form> </body> </html>" 
<script> 
..... 
var dynamicFormIframe = document.getElementById('dynamicFormIframe'); 
dynamicFormIframe = (dynamicFormIframe.contentWindow) ? dynamicFormIframe.contentWindow : (dynamicFormIframe.contentDocument.document) ? dynamicFormIframe.contentDocument.document : dynamicFormIframe.contentDocument; 
     dynamicFormIframe.document.open(); 
     dynamicFormIframe.document.write(content); 
....</sript> 
<body><iframe id="dynamicFormIframe" src=""></frame></body > 

답변

0
dynamicFormIframe = (dynamicFormIframe.contentWindow) ? dynamicFormIframe.contentWindow : (dynamicFormIframe.contentDocument.document) ? dynamicFormIframe.contentDocument.document : dynamicFormIframe.contentDocument; 

contentDocument.document 넌센스이고; 그 조항은 결코 취해지지 않을 것입니다. 비표준 contentWindow 속성을 지원하지 않는 Chrome은 contentWindow과 다른 객체 인 contentDocument을 사용합니다.

var iframe= document.getElementById('dynamicFormIframe'); 
var idoc= 'contentDocument' in iframe? iframe.contentDocument : iframe.contentWindow.document; 
idoc.open(); 
idoc.write(content); 
idoc.close(); 

(귀하의 예 :

는 당신은 문서가 아닌 윈도우를 원하므로 먼저 표준 contentDocument에 대한 이동 만이 지원되지 않는 IE의 창을 통해 진행으로 후퇴하는 것 불일치 태그, JS 문자열을 줄 바꿈, 잘못된 형식 등 많은 명백한 오타가 있습니다. 복사 및 붙여 넣기 오류입니까?

관련 문제