Matthias Scharwies: SVG + JavaScript in eingebundenen img-Bildern

Beitrag lesen

problematische Seite

Servus!

Hallo Julius

Aber woher soll die javascript.svg (bzw. das enthaltene JavaScript) denn wissen, dass sie über img-Element eingebunden wurde und nicht stand-alone ausgeführt wird?

Diese Frage meinst du nicht wirklich ernsthaft?

Einerlei: Der SVG-Grafik ist das egal, nicht aber dem darin befindlichen JavaScript, das muss wissen, ob es im SVG-Raum ausgeführt werden soll oder wo anders.

Das Problem, wie Rainer der 2. hier schon aufwarf ist, das SVG einerseits ein Grafikformat beschreibt, die man als Bild in Webseiten einbindet, und man andererseits mit SVG eine XML-Auszeichungssprache hat, die sogar selbst ausführende Skripten integriert.

Bei meinen Versuchen im Wiki stieß ich irgendwann an eine Mauer: Man kann JavaScript in Standalone-SVGs ausführen, noch besser als inline-SVG.

Theoretisch ist es möglich SVG in mit object und iframe-eingebundenen OBjekten auszuführen, wenn die Namensräume beachtet werden. Wiki-Kapitel: Ansprechen von SVG-Elementen in externen Dateien . Praktisch kam ich da nicht weiter, und hatte noch soviel anderes zu tun.

Bei der Einbindung als img gelten aber einige Beschränkungen:

  • MDN: SVG as an Image
    • kein Ausführen von JS
    • kein Laden weiterer externer Ressourcen wie Stylesheets, Bilder oder weiterer Scripts

Das ist auch das Problem mit SVG im Wiki und anderen CMS, wie Wordpress, die einfach Angst vor den Möglichkeiten von SVG haben.

Vielleicht gibt es irgendwann ein stadardisiertes "Sanitizing" von SVG-Code, der dann ungefährliche SVGs produziert, die man überall einbinden darf. Das mit SVG 2 begonnene Auslagern der Präsentations-Attibute in CSS-Module ist da vielleicht ein erster Schritt hin zu einer reinen Untermenge graphischer Auszeichnungselemente innerhalb von HTML5.

Herzliche Grüße

Matthias Scharwies

--
Es gibt viel zu tun: ToDo-Liste