GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing wiki.selfhtml.org — SVG und JavaScript – SELFHTML-Wiki SVG und JavaScript
Wechseln zu:
Navigation,
Suche
SVG verwendet genau wie HTML das DOM (Document Object Model), bei dem Sie mit JavaScript auf jedes SVG-Element einfach zugreifen können. Bei standalone SVG-Dokumenten können Sie im Definitionsabschnitt einen script-Bereich definieren und so JavaScript einbinden. Allerdings ist genau diese Fähigkeit, Scripte auszuführen, Gift für einen Einsatz von SVG-Grafiken im CMS. Dieser Kurs soll kein Showcase dafür sein, was mit SVG und JavaScript geht – sondern Beispiele zeigen, wie man SVG in Webseiten sinnvoll durch JavaScript erweitert.
VorüberlegungenInline-SVG ist Teil des DOMs einer Webseite und kann problemlos mit den DOM-Methoden angesprochen werden. Bei einer Einbindung von SVG-Grafiken mit dem img- oder picture-Element erwarten Benutzer aber nur eine Grafik. Aus diesen Gründen ist das Ausführen von Skripten, das Laden weiterer externer Dateien wie Stylesheets oder Bilder und das Kennzeichnen von visited-Links (History-Stealing) nicht möglich.[1] SVG in externen Dateien ansprechenDies geht nur, wenn Sie eine externe SVG-Datei in einem object- oder iframe-Element einbinden. Allerdings ist das SVG-DOM dann nicht Teil des DOMs der Webseite und muss erst separat angesprochen werden, bevor Sie auf die in der externen Grafik enthaltenen SVG-Elemente zugreifen können.[2] Die Inhalte solcher SVGs lassen sich nur mit Einschränkungen manipulieren, wenn ein Skript von der HTML-Seite versucht, auf diese Dateien zuzugreifen. Dies liegt daran, dass die meisten Browser sog. Cross-Site-Scripting unterbinden wollen, selbst wenn sich die HTML-Seite und die SVG-Dokumente auf demselben Server befinden.
script in SVGMit dem Element script können Sie einen oder mehrere Script-Bereiche im Definitionsabschnitt eines SVG-Dokuments definieren. Innerhalb von Script-Bereichen können Sie Anweisungen der verwendeten Script-Sprache notieren. schlechtes Beispiel: Event-Attribute und script-Bereich im SVG-Fragment
ansehen …
<svg viewbox="0 0 880 410"> <defs> <!-- der Script Bereich --> <script type="text/javascript"> <![CDATA[ function meldung(){ alert('SVG-Element wurde angeklickt!'); } ]]> </script> </defs> <circle cx="100" cy="100" r="25" fill="#c32e04" onclick="meldung()" /> </svg> Der Kreis erhält ein onclick-Event-Attribut. Durch einen Klick auf ihn wird dann die im Script-Bereich notierte Funktion
Beachten Sie: Dieses Beispiel verstößt gegen einige in den letzten Jahren entwickelte Konventionen:
Empfehlung: Beachten Sie die separation of concerns und trennen Sie Inhalt, Verhalten und Design.
Siehe auch
Osterei erstellen und als SVG abspeichernBeispiel
ansehen …
… Mehr im Blog: Ostereier selbst herstellen und mitnehmen
Quellen
Abgerufen am 9.11.2026 |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |