coder1979: Zeichnen mit SVG

Beitrag lesen

Hi,

sorry, das ich grad so viele Fragen stelle, bleibt kein Dauerzustand, versprochen.

Aber das hier plagt mich nun schon seit längerem: In einem Projekt nutze ich SVG um dynamisch ein paar Kuchendiagramme zu zeichnen. Klar könnte ich hier z.B. eine externe Bibliothek wir chart.js verwenden, möchte ich in dem Fall aber nicht.

Hier mal ein Beispielcode, wie ich mit SVG Formen erzeuge:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <svg width="250" height="250" viewBox="0 0 42 42" id="canvas"></svg>
</body>
<script>
    var svgns = "http://www.w3.org/2000/svg";
    svg_container = document.getElementById('canvas');
    var circle = document.createElementNS(svgns, 'circle');
    circle.setAttributeNS(null, 'cx', 21);
    circle.setAttributeNS(null, 'cy', 21);
    circle.setAttributeNS(null, 'r', 15.91549430918954);
    circle.setAttributeNS(null, 'style', 'fill: #f00;');
    svg_container.appendChild(circle);
</script>
</html>

Nun zur Frage: Im Javascript-Teil ist ja diese Zeile hier drin:

var svgns = "http://www.w3.org/2000/svg";

Da wird quasi irgendwas verlinkt, was zum Zeichnen benötigt wird, richtig? D.h. wenn dieser Pfad irgendwann geändert wird oder nicht erreichbar ist, wird in meinem Script auch nichts mehr gezeichnet, oder?

Und wenn ich das Skript aufrufe, ohne aktive Internetverbindung wird es wahrscheinlich auch nicht funktionieren, da dann der Pfad ja nicht verfügbar ist.

Da ich in diesem Projekt grundsätzlich ohne Abhängigkeiten arbeiten möchte ist die Frage: Warum braucht man für SVGs diese URL und kann man das irgendwie umgehen (also auch Kreise zeichnen ohne diese URL)?

LG Daniel