1

Здравствуйте. Дано: - svg-спрайт

<svg style="display: none;" width="0" height="0" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
      <!-- набор <symbol> -->              
    </defs>
</svg>
  • скрипт, который c помощью ajax инлайнит этот спрайт в html

<script>
    var ajax = new XMLHttpRequest();
    ajax.open("GET", "assets/template/images/sprite.svg", true);
    ajax.send();
    ajax.onload = function(e) {
        var div = document.createElement("div");
        div.innerHTML = ajax.responseText;
        document.body.insertBefore(div, document.body.childNodes[0]);
    }
</script>
  • сайт под управлением CMS MODX, на котором это все реализовано.
  • в коде страницы иконки из спрайта вставляются так:

<svg class="icon icon-tools" ><use xlink:href="#icon-tools"/></svg>

Проблема: во всех браузерах, кроме IE иконки из спрайта подтягиваются только на первой странице. На внутренних пусто.

Благодарю за любой совет или помощь.

rebroff
  • 453
  • "assets/template/images/sprite.svg" абсолютный адрес, а не относительный может стоит задать? – Visman Jul 11 '16 at 16:08
  • пробовал, да и в этом месте проблемы нет - svg подгружается и вставляется в html решается, если в xlink вставить адрес страницы

    но почему а) только так, если страница текущая б) работает в IE

    – rebroff Jul 11 '16 at 16:28
  • @rebroff Вы уже решили проблему? Если нет, то может я чем смогу, помогу. – Alexandr_TT Feb 03 '17 at 12:02
  • Решил проблему указанием относительного url: , но для главной страницы это не работает - приходится там выводить svg без url. Возможно вы подскажете более грамотный способ? – rebroff Feb 04 '17 at 14:37
  • @rebroff CMS MODX не знаком, но мечтаю познакомиться :) Из отзывов прочитал, что странички Html под эту CMS не надо модифицировать, вставляется как есть. Поэтому, наверное правила включения SVG файлов в HTML странички остаются такие же. Для начала посмотрите вот эту статью http://ru.stackoverflow.com/q/645927/28748, может возникнут новые мысли, спрашивайте и чтобы оперативно люди могли увидеть ваши сообщения, начинайте их с "@ник пользователя" – Alexandr_TT Mar 30 '17 at 12:01
  • @rebroff вот новая обзорная статья по спрайтам и добавлению их в HTML https://ru.stackoverflow.com/a/657213/28748 – Alexandr_TT Apr 22 '17 at 19:15

0 Answers0