fisch_vier: SVG mit Javascript nachladen

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.

  1. 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
    
    1. 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ääääääää??
      
      1. Hier übrigens ein Beispiel: http://bauhaus.x.gg/

        1. 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