2011-05-29 1 views
5

Я протестировал свой сайт с новым IE 9, и я получил сообщение об ошибке INVALID_CHARACTER_ERR (5). В IE 9 инструменты разработчика выделяют эту строку. Может ли кто-нибудь помочь мне с этой ошибкой?Javascript: DOM Исключение: INVALID_CHARACTER_ERR (5)

Ошибка линии

this.iframe = document.createElement('<IFRAME src="' + myCurrentUrl + '" frameborder=0>'); 


Function Code 
__createDivs : function() 
{ 
this.divs_transparentDiv = document.createElement('DIV'); 
this.divs_transparentDiv.className='modalDialog_transparentDivs'; 
this.divs_transparentDiv.style.left = '0px'; 
this.divs_transparentDiv.style.top = '0px'; 
document.body.appendChild(this.divs_transparentDiv); 
this.divs_content = document.createElement('DIV'); 
this.divs_content.className = 'modalDialog_contentDiv'; 
this.divs_content.id = 'DHTMLSuite_modalBox_contentDiv'; 
this.divs_content.style.zIndex = 100000; 
if(this.MSIE){ 
var myCurrentUrl = GlobPanelCurrentBaseUrl + 'images/spacer.gif'; 
this.iframe = document.createElement('<IFRAME src="' + myCurrentUrl + '" frameborder=0>'); 
this.iframe.style.zIndex = 90000; 
this.iframe.style.position = 'absolute'; 
document.body.appendChild(this.iframe); 
} 
document.body.appendChild(this.divs_content); 
this.divs_shadow = document.createElement('DIV'); 
this.divs_shadow.className = 'modalDialog_contentDiv_shadow'; 
this.divs_shadow.style.zIndex = 95000; 
document.body.appendChild(this.divs_shadow); 
window.refToModMessage = this; 
this.addEvent(window,'scroll',function(e){ window.refToModMessage.__repositionTransparentDiv() }); 
this.addEvent(window,'resize',function(e){ window.refToModMessage.__repositionTransparentDiv() }); 
} 
+2

FYI, старые версии IE позволило вы должны передать произвольный HTML в createElement, но это является нарушением спецификации. – Neil

ответ

10

Да, вы должны просто дать ему имя элемента, а затем установить свойства на него, как так:

this.iframe = document.createElement('iframe'); 
this.iframe.src = myCurrentUrl; 
this.iframe.frameBorder = 0; 
+0

Спасибо, я просто смог исправить это, используя следующее: this.iframe = document.createElement ("iframe"); this.iframe.setAttribute ("src", myCurrentUrl); this.iframe.setAttribute ("style", "position: absolute; z-index: 90000;"); this.iframe.frameBorder = 0; –