Il s'agit d'une non-réponse définitive: éliminer une réponse tentante mais fausse pour aider les autres à trouver les bonnes réponses.
Il peut sembler que le débogage mettrait en évidence le problème. Cependant, le seul navigateur dans lequel le problème se produit est IE, et dans IE, vous ne pouvez déboguer que le code qui faisait partie du document d'origine. Pour le code ajouté dynamiquement, le débogueur affiche simplement l'élément body comme l'instruction actuelle, et IE affirme que l'erreur s'est produite sur un numéro de ligne énorme.
Voici un exemple de page Web qui illustrera ce problème dans IE:
<html>
<head>
<title>javascript debug test</title>
</head>
<body onload="attachScript();">
<script type="text/javascript">
function attachScript() {
var s = document.createElement("script");
s.setAttribute("type", "text/javascript");
document.body.appendChild(s);
s.text = "var a = document.getElementById('nonexistent'); alert(a.tagName);"
}
</script>
</body>
Cela a donné pour moi l'erreur suivante:
Line: 54654408
Error: Object required