2011-07-20 2 views
3

J'ai une page contenant un couple de tags. Je veux changer leurs actions de chargement dynamiquement. J'ai le code suivant qui fonctionne bien dans FF, Safari, Chrome, Opera, mais IE (8) refuse de se conformer.changer dynamiquement onload pour un iframe

document.getElementById('myiframe').onload = function() { 
    return function() { file_onLoad(data); } 
}(); 

Je me sers quelque chose de similaire pour régler la onchange d'un élément <input> et cela fonctionne bien dans tous les navigateurs, je l'ai testé, y compris IE.

document.getElementById('myinput').onchange = function() { 
    return function() { file_onChange(data); } 
}(); 

donc je suppose qu'il a quelque chose à voir avec la façon dont je suis en train de l'élément de châssis/objet. J'ai également essayé frames['myiframe'] mais sans succès.

Merci pour votre aide!

Répondre

5

Il fonctionne très bien sur le mien ...
J'ai essayé:

function whatever(){ 
    document.getElementById('myiframe').src="http://www.google.com/" 
    document.getElementById('myiframe').onload = function() { 
     return function() { alert("Done."); } 
    }(); 
} 

et il fonctionne. (J'ai essayé sur IE9 avec le mode IE8 activé)
Si cela ne fonctionne pas pour vous, essayez ceci:

document.getElementById('myiframe').addEventListener('load', file_onLoad, false); 
+2

En savoir plus ici: [http://stackoverflow.com/.../iframe-onload -in-ie7-8-avec-javascript] (http://stackoverflow.com/questions/6455834/iframe-onload-in-ie7-8-with-javascript) –

Questions connexes