Zeichnen mit SVG
bearbeitet von coder1979Hi,
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?
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?
LG Daniel