SVG is eine auf XML basierende Grafik und Sie können JavaScripts hinzufügen. Ich habe versucht, auf die in einem SVG definierten Skriptfunktionen zuzugreifen. Das Skript in meinem SVG sieht ungefähr so aus:
...
function RunScript(loadEvent) {
// Objekt in meinem HTML nach ID abrufen
var objElement = top.document.getElementById('objid1');
if (objElement)
{
// Erweitern der Methoden des Objekttags des Objekts
objElement.SVGsetDimension = setDimension;
...
}
function setDimention(w, h) {...}
In meiner Haupt-HTML-Datei wird das SVG in einem Objekttag wie folgt eingebettet:
Neue Größe festlegen...
Dies funktioniert einwandfrei. Wenn die SVG-XML-Datei jedoch mit einer vollständigen URL (auf einer anderen Website) referenziert wird, wie z.B.:
funktionieren die Codes nicht mehr. Es scheint, als könnte ich die in meinem SVG-Skript definierte Methode nicht mit einer Methode in meinem Haupt-HTML-Objekttag-Element verknüpfen, oder das top oder document ist in diesem Fall nicht verfügbar oder getElementById(…) kann mein Objektelement in meinem SVG-Skript einfach nicht finden. Gibt es einen Weg, wie ich im SVG-XML-Skript mein HTML-Element finden kann?
Ich bin mir nicht sicher, ob dieses Problem durch die unterschiedlichen DOMs verursacht wird und es für meine SVG-Skriptcodes keinen Weg gibt, ein Objekt oder Element eines anderen DOMs zu erkennen. Es wäre schön, wenn es eine Lösung gäbe.