Bonjour
Je programme un site SVG dans lequel j'utilise XMLHttpRequest pour mettre à jour certaine partie du site (rien de très extraordinaire pour le moment).
Sauf que je voudrais que les fragments de svg que je récupère de mon site, appellent des scripts au moment de leur ajout dans mon graphe de scène (le dom). Pour cela je pensais utiliser des abonnements sur l'événement "onload" comme pour un site normal, mais cela ne marche pas dans le cas d'un XML chargé avec XHR. Peut etre que j'utilise mal XMLHttpRequest et l'API DOM ...
Quelqu'un aurait-il une idée pour résoudre cela ?
Je mets le code dans le suite de ce document.
cordialement
PS: ce code tourne dans FireFox 2
testHttpResquest.svg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<script>
function testModeS ()
{
var text = document.getElementById ('the_text');
var xhr_object = new XMLHttpRequest();
xhr_object.open("GET", "foo.xml", false);
xhr_object.send ("");
if (xhr_object.readyState == 4)
{
text.appendChild (xhr_object.responseXML.documentElement);
}
}
</script>
<rect x='50' y='50' width='100' height='50' fill='blue' onclick="testModeS ();"/>
<g id='the_text'></g>
</svg> |
foo.xml :
<text xmlns="http://www.w3.org/2000/svg" x='50' y='130' onload="alert('toto')" onclick="alert('titi')">ceci est un test</text>
Partager