SVG Javascript Zugriffsproblem mit Firefox und Opera

kennenburg

Mitglied
Hallo,

wer kan mir bei dem folgenden Problem helfen:

ich versuche auf ein SVG Object mit Javascript zuzugreifen.
Das funktioniert auch alles mit IE und Netscape aber nicht im Firefox und nicht im Opera!?

Wäre für eine Hilfe sehr dankbar

Hier der Codeausschnitt:


<script>
function SetSVGValues()
{
svgdoc=parent.frames["svg"].document.embeds[0].getSVGDocument().rootElement;
svgdoc.getElementById('63').style.setProperty("visibility","hidden");
}

</script>

<table border="0">
<tr><td>
<form action="">
<input type="radio" name="svgobj" value="po" onClick="SetSVGValues()">Unsichtbar
</form>

<iframe name="svg" src="PKW_komplett_sensitive_ISODRAW61.svg" width="400" height="800" frameborder="0">
<p>Zur Anzeige der Grafik wird ein Browser-PlugIn (Viewer) ben&ouml;tigt, z. B. der <a href="http://www.adobe.com/svg/viewer/install/main.html">SVG Viewer 3.0 von Adobe</a>!</p>
</iframe>
<br>
</td></tr>
</table>
 
Ich glaub', FF und Opera akzeptieren keine Zahlen als ID.

Code:
svgdoc.getElementById('63').style.setProperty("visibility","hidden");
 
Ich hab' keine Ahnung von "SVG", aber schreibt man normalerweise nicht anstelle von

Code:
svgdoc.getElementById('63').style.setProperty("visibility","hidden")

so etwas:

Code:
svgdoc.getElementById('63').style.visibility="hidden";

Was kommt denn eigentlich für eine Fehlermeldung bzw. in welcher Zeile?
 
Also das folgende ist schon richtig, man muss auf die einzelnen Eigenschaften schon zugreifen bei svg:

Code:
svgdoc.getElementById('63').style.setProperty("visibility","hidden")

Es funktioniert im IE und Netscape einwandfrei. Im Firefox und Opera kommt keine Fehlermedung, es funktioniert einfach nix. Das Feld wird nicht unsichtbar gemacht.

Kenn mich leider auch nicht allzu gut in svg aus. Hab mich erst seit ein paar eingearbeitet.
 
lol Ja, hab ich gemacht. Das SVG Bild wird angezeigt.
Muss an irgendwelchen Funktionen hängen, die Firefox nicht interpretieren kann.
 
T'schuldigung, aber manchmal sind es die einfachsten Sachen!

Kennst Du den Mozilla Debugger "Venkman", den könntest Du ja 'mal installieren. Damit kannst "Zeile für Zeile" abarbeiten. Vielleicht bringt es ja was.
 
Überprüfe ob die Seite mit Firefox oder mit IE geladen wird. Falls Firefox, lade das svg in ein <object> bei IE <embed>.
 
Moin,

Ich habe jetzt keine Ahnung, wie dieses SVG-Dokument aussieht(mich verwundert, dass der IE dort embeds findet, ich wüsste nicht, dass SVG soetwas kennt), aber generell solltest du in den Problembrowsern darauf folgendermassen Zugriff erlangen, wenn es sich in einem Frame befindet:

Code:
svgdoc=parent.svg.document;

Weiterhin: setProperty() erwartet 3 Parameter.
Auch wenn der 3. derzeit keinen Zweck erfüllt, musst du ihn übergeben, da es sonst zu einem Fehler kommt,... übergebe einfach einen leeren String.
 

Neue Beiträge

Zurück