Hallo Thomas,
Deine beiden Beispiele mit getAttribut und setAttribut konnte ich sehr gut nachvollziehen und funktionieren wie gewünscht. Was ich nicht hinbekomme ist die Echtzeitkkordinaten eines Rechtecks (id=fenster) aus der map.SVG (Name=SVGEmbed) in der SVG-Datei koordinaten.svg (Name=SVG2) anzeigen zu lassen. Mit folgendem Code
bekomme ich immer die Meldung das kein Objekt gefunden wird:
koordinaten.svg:
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="200" height="100" onmousemove="zeige(evt)">
<script language="JavaScript" >
<!--
function SymError()
{
return true;
}
window.onerror = SymError;
//-->
</script>
<script type="text/javascript">
<![CDATA[
function zeige(evt)
{
xm=evt.clientX;
ym=evt.clientY;
root=evt.target.top.window.document.embeds['SVGEmbed'].getSVGDocument();
root.getElementById('fenster').firstChild.setData('Koordinaten: X= '+xm+' Y= '+ym);
}
]]>
</script>
<rect id="koordinate2" x="0" y="0" width="200" height="100"
transform="translate(0 0) translate(101 114) scale(1 1.04202) translate(-101 -114) translate(101 114) scale(1 0.951613) translate(-101 -114) translate(101 -5) scale(1 0.915254) translate(-101 5) translate(-12 54.5) scale(0.955752 1) translate(12 -54.5) translate(214 54.5) scale(0.958333 1) translate(-214 -54.5)"
style="fill:none;stroke:none;stroke-width:1"/>
<text id='koordinate' x='0' y='10' style='font-size:12'>Koordinaten:</text>
</svg>
So kann es ja eigentlich nicht funktionieren, da das onmousemove ja eigentlich in der map.svg ausgeführt werden müßte. Aber ich sehe auch
keinen Ansatz dieses Event zu übergeben. Ich hoffe Du weißt nochmals
Rat?