SVG mit Javascript nachladen
    
fisch_vier
    
    
      
    
  - svg
 
0 molily0 fisch_vier0 fisch_vier0 molily
var n = document.createElement('embed');  
n.type = 'image/svg+xml';  
n.src = 'a.svg';  
document.getElementById('b').appendChild(n);
Klappt in WebKit nicht! Es treten wahlweise, bei jedem Aufrufen der Seite, unterschiedliche Fehler auf: Entweder es wird gar nichts angezeigt, oder es wird sich über den MIME-Typen beschwert.
Was soll ich machen?
Ich möchte doch nur SVG-Bilder laden und anzeigen!
mfg, F.
Hallo,
var n = document.createElement('embed');
n.type = 'image/svg+xml';
n.src = 'a.svg';
document.getElementById('b').appendChild(n);
  
Hast du mal ein object-Element mit data- und type-Attributen ausprobiert, eventuell auch mit width/height?  
  
> Es treten wahlweise, bei jedem Aufrufen der Seite, unterschiedliche Fehler auf: Entweder es wird gar nichts angezeigt, oder es wird sich über den MIME-Typen beschwert.  
  
Welche Fehler genau? Du solltest natürlich dafür sorgen, dass der Server das SVG mit dem richtigen MIME-Typ ausliefert.  
Siehst du das SVG-DOM im Web Inspector? Geht es in den anderen Browsern?  
  
Grüße,  
Mathias
  Hallo,
var n = document.createElement('embed');
n.type = 'image/svg+xml';
n.src = 'a.svg';
document.getElementById('b').appendChild(n);
>   
> Hast du mal ein object-Element mit data- und type-Attributen ausprobiert, eventuell auch mit width/height?  
>   
> > Es treten wahlweise, bei jedem Aufrufen der Seite, unterschiedliche Fehler auf: Entweder es wird gar nichts angezeigt, oder es wird sich über den MIME-Typen beschwert.  
>   
> Welche Fehler genau? Du solltest natürlich dafür sorgen, dass der Server das SVG mit dem richtigen MIME-Typ ausliefert.  
> Siehst du das SVG-DOM im Web Inspector? Geht es in den anderen Browsern?  
>   
> Grüße,  
> Mathias  
  
Danke erstmal für deine Antwort!  
  
-> Zwischen object und embed ist kein Unterschied festzustellen :(  
  
-> Leider kann ich nicht für den richtigen MIME-Typen sorgen, weil ich keinen Zugriff auf den Server habe. Das ist aber anscheinend auch nicht das Problem: Mit einem SVG-File von w3.org gibt es die gleichen Probleme! Und die sollten ihren Server ja richtig eingestellt haben!  
  
-> Nein, ich sehe das SVG-DOM nicht im Web-Inspector. Es wird auch gar kein Request gesendet! Das SVG-DOM sieht so aus: "<html><head></head><body></body></html>", so sieht z.B. auch ein iframe aus, wenn man dort nichts lädt.  
  
Ich verstehe es einfach nicht! Jetzt gerade habe ich folgendes herausgefunden: Lade ich die Seite, drücke dann auf F12 (Developer Tools), dann nochmal F12 (Developer Tools schließen), dann wird plötzlich alles angezeigt!  
  
Hääääääää??
  Hier übrigens ein Beispiel: http://bauhaus.x.gg/
Hier übrigens ein Beispiel: http://bauhaus.x.gg/
Noch eine Idee: Erzeuge erst das volle object-Element mit type- und data-Attribut und hänge es dann ins DOM ein. Momentan setzt du das data-Attribut, wenn das object-Element schon im DOM ist.
Mathias