SVG + JavaScript in eingebundenen img-Bildern
bearbeitet von
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](https://forum.selfhtml.org/self/2017/jan/31/svg2svg/1685797#m1685797) 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 ](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/SVG_und_JavaScript#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](https://developer.mozilla.org/en-US/docs/Web/SVG/SVG_as_an_Image#Restrictions)
- 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](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/Einsatz_im_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](http://wiki.selfhtml.org/wiki/Kategorie:ToDo)*{: style="display:list-item;list-style-type:disc;font-style:normal;margin:1em 0 0 2em;"}
> 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](https://forum.selfhtml.org/self/2017/jan/31/svg2svg/1685797#m1685797) 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 ](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/SVG_und_JavaScript#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](https://developer.mozilla.org/en-US/docs/Web/SVG/SVG_as_an_Image#Restrictions)
- 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](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/Einsatz_im_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](http://wiki.selfhtml.org/wiki/Kategorie:ToDo)*{: style="display:list-item;list-style-type:disc;font-style:normal;margin:1em 0 0 2em;"}
SVG + JavaSCript in eingebundenen img-Bildern
bearbeitet von
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](https://forum.selfhtml.org/self/2017/jan/31/svg2svg/1685797#m1685797) 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 ](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/SVG_und_JavaScript#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](https://developer.mozilla.org/en-US/docs/Web/SVG/SVG_as_an_Image#Restrictions)
- 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](https://wiki.selfhtml.org/wiki/SVG/Anwendung_und_Praxis/Einsatz_im_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](http://wiki.selfhtml.org/wiki/Kategorie:ToDo)*{: style="display:list-item;list-style-type:disc;font-style:normal;margin:1em 0 0 2em;"}