Robert B.: Nachtrag

Beitrag lesen

Moin,

da in meinem Beispiel

<figure>
  <svg width="" height="" >
    <title>Titel der Grafik</title>
    <!-- … Elemente und so … -->
  </svg>
  <figcaption>Eine skalierbare Vektorgrafik</figcaption>
</figure>

die Namensraumangabe fehlt (braucht ja bei HTML5 auch nicht zu sein), muss natürlich der JavaScript-Code angepasst sein, damit SVG-Viewer und -Editoren damit arbeiten können:

document.addEventListener('DOMContentLoaded', function(evt) {
	let so = document.getElementById('svg2');
	if (so.attributes['xmlns'] === undefined) {
		so.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
	}
	let svg = '<?xml version="1.0" encoding="UTF-8"?>'
			+ so.outerHTML;
	const prot = 'data:image/svg+xml;charset=UTF-8';
	document.getElementById('dl_url').href = prot + ','
			+ encodeURIComponent(svg);
});

Viele Grüße
Robert