JavaScript JS Funktion in embed aufrufen

Wutprobe

Cadet 4th Year
Registriert
Nov. 2005
Beiträge
96
Hi suche jetzt schon seit einer Stunde nach einer Lösung aber finde leider nichts.

Ich habe folgenden Problem:

In einer HTML Seite habe ich einen <embed> -Tag in dem ein SVG-Vektor eingebettet ist.
in der SVG-Datei ist eine Javascript Funktion.

Diese Funktion möchte ich nun aus der HTML Seite über einen Button aufrufen, weiß aber leider nicht wie ich das anstellen soll.

Habe es schon mit getElementById usw probiert. Ich hoffe ihr könnt mir helfen.
 
ja das element hat auch eine id. vll mal was code um es einfacher zu erklären:

HTML:
<input type="button" value="Auswerten" onclick="javascript:updateColors()"/>


<embed id="karte" src="map/map.svg" width="100%" height="100%" type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/" />

und die Funktion updateColors() ist in dem Vektor map.svg drin:

Code:
<script type="text/ecmascript">
<![CDATA[
	function updateColors() {do Something}
 ]]>		
</script>
 
Ist da noch anderer Kram drin, oder nur Javascript?
Wenn letzteres, dann per <script src="map/map.svg"></script> einbinden.
 
ne das geht glaub ich nicht in der funktion updateColors() werden elemente aus dem vektor manipuliert die von da aus direkt angesprochen werden wenn ich die auslager und in die html einbinde klappt das nicht mehr.
 
Die Funktion ist dem DOM aber unbekannt, weil er die Datei als SVG einbindet und nicht als JS.
Wie man trotzdem an die Funktion rankommt weiß ich aber auch nicht.
 
Hi,

ich stellte grade fest, dass du auf die Funktion zugreifen kannst, wenn du anstatt "embed" den object-tag verwendest.

das sieht dann so aus:

<object type="image/svg+xml" data="xyz.svg" id="id">
</object>

dann kannst du - aber erst beim window.onload event - auf die Funktion zugreifen durch:

document.getElementById('id').contentDocument.defaultView.funktionsname();

hoffe, das hilft dir weiter.

mfg

mightyplow
 
Zuletzt bearbeitet:
Zurück
Oben