J'ai une page avec un iframe et j'aimerais extraire un noeud DOM du cadre enfant et le placer sur la page parente. Cela fonctionne dans Firefox (3.5), mais pas dans Internet Explorer (7). J'ai décomposé le code du plus simple possible.Impossible d'appendChild à un noeud créé à partir d'une autre image
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Fragment</title>
</head>
<body>
<iframe src="blank.html"></iframe>
<script type="text/javascript">
window.onload = function() {
var fragment = document.createDocumentFragment();
var div = frames[0].document.createElement("div");
fragment.appendChild(div);
};
</script>
</body>
</html>
je reçois une erreur "Invalid argument
" sur la ligne "fragment.appendChild(div);
". L'erreur semble provenir du fait que je crée le fragment de document à partir du document iframe et l'élément div du document parent. Ce code fonctionne si les deux utilisent le même document. Je souhaite conserver tous les événements qui pourraient être attachés aux nœuds DOM, donc je ne veux pas utiliser innerHTML.
Quelqu'un sait-il une solution pour cela?
Je ne pense pas que vous serez en mesure de résoudre ce problème. – SLaks
FYI, j'ai découvert que cela fonctionne dans IE8. – Adam