Cross-Browser SVG dataurl Bug?

19/04/2015 - 05:35 von Jan Bruns | Report spam
Hallo.

Also entweder ich habe mal wieder irgendwo irgendeine
Spezial-Spezifikition überlesen (oder sonstwie was
falsch gemacht) , oder aber sowohl FireFox als auch IE9
haben beide folgenden Bug:

Wenn man in einem HTML img Element eine data-url src
gibt, die ein SVG-Bild beschreibt, dann werden im
SVG-Bild auftauchende <image> Elemente, die externe
Bilder referenzieren, nicht angezeigt.

Meine Theorie dazu ist, daß die Browser den Domain-Context
des Containerelements "vergessen", wenn sie data-urls
verwenden. Zumindest wenn es ums lokale Dateisystem geht.

Firefox scheint das image-Elements des per data-url
eingeladenen SVG einfach wegzulassen, wàhrend der IE9
eben dieses "missing image"-Dings reinrendert.

Gruss

Jan Bruns


PS: Hier noch ein Beispiel-SVG:

<svg
width="50"
height="50"
viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"




<rect x="0" y="0" width="100" height="100"
stroke="blue" stroke-width="4" fill="grey" />
<circle cx="50" cy="50" r="40" stroke="red"
stroke-width="10" fill="white" />
<image
x="50"
y="50"
width="50"
height="50"
xlink:href="img/greycross.png">
</image>
</g>
</svg>
 

Lesen sie die antworten

#1 Jan Bruns
19/04/2015 - 07:18 | Warnen spam
Hier noch eine ganz kurze Test-Seite dazu:

http://abnuto.de/jan/code/svgbug/svg.html

Die Tests 6. und 7. verwenden ein svg-Bild,
das das Subimage nochmal per data-url enthàlt
(also bei 7. gar eine data-url in einer data-url).

Bei mir zeigt Firefox bei 4.+5. nicht korrekt an,
lokal bei mir auf der Festplatte geht auch 4.,
warum auch immer.

Der IE9 zeigt bei mir 5.,6. und 7. nicht korrekt an.

Gruss

Jan Bruns

Ähnliche fragen