Mathias: Auf SVG-Objekt mit Javascript zugreifen

Beitrag lesen

Betriebssystem: Windwos XP
Browser: IE 6.0
Plug-In: Adobe SVG-Viewer 3.0

Das sind meine 3 Frames:
-----------------------------------------
Frame1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
</head>
<frameset cols="146,*" border="0" frameborder="0" framespacing="0">
 <frame src="svg1024/svgnavileft1024.html" scrolling="no"
 name="navileft1024" noresize>
 <frameset rows="80,*" border="0" frameborder="0" framespacing="0">
 <frame src="svg1024/svgbanner1024.html" scrolling="no" name="banner1024" noresize>
 <frame src="svg1024/deu-home/svgdeuhome1024.html" scrolling="no"
 name="contents1024" noresize>
 </frameset>
</frameset>
</html>
-----------------------------------------
contents1024:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
        "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
</head>
<frameset onLoad="parent.frames[0].setColor()" rows="40,*" border="0" frameborder="0" framespacing="0">
 <frame src="svgdeuhometitle1024.html" scrolling="no"
 name="svghometitle1024" noresize>
 <frame src="svgdeuhomecontent1024.html" scrolling="no"
 name="svghomecontent1024" noresize>
</frameset>
</html>
-----------------------------------------
navileft1024:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">

function setColor (){
var svgdoc = document.getElementById("objekt").getSVGDocument();
svgdoc.getElementById("text1").setAttribute('fill','red');
}
</script>
</head>

<body>

<object id="objekt" data="../svg/navibar-left.SVG" width="132" height="445"
style="margin-right:1px; float:left;" type="image/svg+xml">
Kein SVG unterstuetzt.
</object>

</body>
</html>
-----------------------------------------
Kurz:
Im Frame "navileft1024" ist ein SVG-Menue, der Frame wird nie neu geladen, es steht also di eganze Zeit da.
Wird allerdings der Frame contents1024 neu geladen wird die Funktion setColor() aus "navileft1024" aufgerufen.

es erscheint der fehler:
'getElementById(...)' ist Null oder kein Objekt

Verlinke ich den text mit der id "text1" (in der SVG-Grafik)so, dass wenn ich auf ihn klicke, contents1024 aufgerufen wird (sprich neu geladen), so ändert er seine farbe. aber nicht, wenn contents 1024 z.b. durch Aktualisieren aufgerufen wird.

Oder kann es sein, dass beim klicken auf "aktualisieren" das SVG-Element noch nicht zur verfügung steht....