2015-07-14 7 views
10

Quindi, dato questo codice HTML, l'immagine di sfondo viene caricata perfettamente in Firefox, IE e Chrome. Ma in Safari, lo ignora.Safari non riesce a visualizzare l'immagine in SVG nidificato

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <meta http-equiv="Content-Style-Type" content="text/css"> 
    <title></title> 
</head> 
<body> 
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 141.72999572753906 255.1199951171875"> 
    <image xlink:href="http://labels.labellogiclive.com/alfresco_10_p1_alf001_uk__v0.svg" preserveAspectRatio="none" x="0" y="0" width="141.73" height="255.12"></image> 
    </svg> 
</body> 
</html> 

Ora ho pensato che potrebbe essere un problema di server, non dando le intestazioni corrette, ma ho controllato e sembra buono (image/svg+xml). Quindi sono un po 'in perdita ... Qualche idea?

+1

@Siguza sul serio !? Quindi se apri http://storage.labellogiclive.com/test_svg.html in Chrome e Safari, li vedi come identici al 100% !? – Siyfion

risposta

1

Ho inviato un bug report con Apple tramite Apple Bug Reporter con un ID bug di 21959574. Speriamo che qualcuno di Apple prenda nota e risolva il problema sottostante.

3

Safari combatte con gli elementi SVG <image> profondamente annidati.

Si vedano, ad esempio, i commenti qui: Embed SVG in SVG?

I suoi primi <image> carichi un'altra SVG, che a sua volta comprende un <image> che carica la foto di sfondo. Se unisci l'elemento più interno <image> (la foto) nell'SVG più esterno, funziona correttamente.

+1

Per motivi che non riesco a entrare qui facilmente, non posso semplicemente "fondere" i due file SVG, entrambi contengono dati molto diversi che (eventualmente) devono essere analizzati separatamente. Tuttavia, se questo è il caso, non c'è una soluzione per Safari apparentemente. Forse dovrei sollevarlo come un bug con Apple? – Siyfion

+1

Puoi unirli in fase di esecuzione, iniettando quello interno in quello esterno con JS? Non sei sicuro di cosa intendi con "analizzato separatamente", quindi se offri qualche altro dettaglio su come stai facendo e usando questi SVG, ti aiuterò a far funzionare qualcosa. – ivanreese

+1

@Siyfionit Sarebbe bello poterlo inviare come un bug con Apple! – thomasfuchs