ПРОБЛЕМА:
Я использую Snap.svg для создания базовой интерактивной графики, но по какой-то причине я не могу загрузить внешний файл SVG с помощью Snap.load()
. Я вытащил код прямо из учебника на snap.io и проверил и дважды проверил документы. Мой SVG файл отлично отображен в браузере, он просто не отображается внутри Snap SVG. Другие формы (т.е. Не используются при использовании Snap.load()
) отображают.
CODE: Я открутил свой пример до самых простых файлов HTML и SVG, которые можно себе представить, и метод Snap.load() все еще не работает для меня. Кто-нибудь видит, что мне не хватает?
HTML:
<head>
<style media="screen">
#svg {
width: 300px;
height: 300px;
}
</style>
<script src="snap.svg-min.js"></script>
<meta charset=utf-8 />
</head>
<body>
<svg id="svg"></svg>
<script type="text/javascript">
var s = Snap("#svg");
Snap.load("svgtest.svg");
</script>
</body>
SVG (первоначально экспортированный из Illustrator):
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<rect x="14" y="33" fill="#2BB673" width="70" height="30"/>
</svg>
UPDATE: Обновлен код в соответствии с предложением @Ian -
var s = Snap("#svg");
Snap.load("http://www.w3.org/TR/SVG/images/struct/Use01.svg", onSVGLoaded ) ;
function onSVGLoaded( data ){
s.append( data );
}
- но пока не отображается внешний SVG. Я попытался использовать SVG от w3.org, чтобы убедиться, что это не проблема с самим файлом или моим доменом.