2011-05-29 3 views
5

J'ai testé mon site avec le nouvel IE 9 et j'obtiens l'erreur en me disant INVALID_CHARACTER_ERR (5). Dans IE 9, les outils de développement mettent en évidence cette ligne. Quelqu'un peut-il m'aider avec cette erreur?Javascript: DOM Exception: INVALID_CHARACTER_ERR (5)

Erreur ligne

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, les anciennes versions de IE a permis vous pouvez passer du HTML arbitraire dans createElement, mais c'est une violation de la spécification. – Neil

Répondre

10

Oui, que vous êtes censé donner juste le nom de l'élément, puis les propriétés définies sur elle comme ceci:

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

Merci, je pouvais juste le réparer en utilisant le suivant this.iframe = document.createElement ("iframe"); this.iframe.setAttribute ("src", myCurrentUrl); this.iframe.setAttribute ("style", "position: absolute; z-index: 90000;"); this.iframe.frameBorder = 0; –