2015-02-22 2 views
0

Я смог загрузить другие SVG в Snap, но есть тот, который не будет отображаться независимо от того, что я делаю или как я смотрю на него. Он отлично работает вне Snap с помощью src: внутри него.SnapSVG Load vs img.src

Виной http://upload.wikimedia.org/wikipedia/commons/c/c4/Icehockeylayout.svg

Я попытался его перемещение вокруг, чтобы увидеть, если он был помещен прочь вид как-то и смотрел на равнинной источник SVG, чтобы найти ответы на безрезультатно.

Наведение курсора на загруженный тег svg (а не тег Snap svg) внутри дерева DOM в devtools ничего не показывает - как если бы он был скрыт (без выделения заметки).

Я пропустил что-то очевидное? Svg не кажется особенным по сравнению с другими. Является ли проблема с Snap или SVG?

Попробуйте jsFiddle для демонстрации: http://jsfiddle.net/rdtztLe8/

var s = Snap(400,300); 

var url = "http://upload.wikimedia.org/wikipedia/commons/c/c4/Icehockeylayout.svg"; 

var d = document.getElementById('text'); 

Snap.load(url, function(f) { 
    s.append(f); 
    d.innerHTML = 'svg "loaded" with snap'; 

    setTimeout(function(){ 
     d.innerHTML = "let's try with img tag"; 
    }, 2000); 

    // try with ing tag 
    setTimeout(function() { 
     var i = document.getElementById('img'); 
     i.src = url; 
     d.innerHTML = "img tag works - but not snap sag?"; 
    }, 5000);  
}); 

Благодаря

ответ

0

Так что этот вопрос был дан ответ/высчитать по Mardeg в #svg Мозиллы IRC (sand.mozilla.org).

В основном привязка не справилась с префиксом xml svg для тегов. Быстрый% s/svg: // g позже работал отлично.

<Mardeg> jinjin: is the Snap library failing because http://upload.wikimedia.org/wikipedia/commons/c/c4/Icehockeylayout.svg prefixes every tag with the svg namespace, like <svg:svg> and <svg:pattern> etc? 
<jinjin> hmm 
<jinjin> you might be onto something the other sag's I tried don't seem to do that 
<jinjin> will test 
<Mardeg> xml namespacing is something that is allowed in standalone .svg files, being xml compatible. But I'm not sure how that then behaves as straight code inside .html files.. unless Snap is failing to include the namespacing when injecting the code into the page or something 
<Mardeg> usually the declaration is xmlns="http://www.w3.org/2000/svg" for svg files, but xmlns:svg="http://www.w3.org/2000/svg" is also valid 
<Mardeg> which means everything is prefixed with svg: 
<jinjin> mother god you are right! 
Смежные вопросы