Я создаю интерактивный отчет на основе этого: https://avocode.com/design-report-2017
Все отлично работает на локальном хосте, но когда я загружаю его на сервер, я получаю ошибку 403 (Запрещено) для всехизображений SVG.
Я попытался использовать относительные и абсолютные пути для изображений.Изображения, не входящие в теги <image>
(обычные <img>
), работают хорошо.
Исходя из этого вопроса: 403 запрещенная ошибка при отображении изображения SVG , на самом деле кажется, что проблема в том, чтоСервер не имеет необходимых разрешений для загрузки изображений SVG.
Тем не менее, я не могу найти, какие разрешения должны быть изменены на .У меня нет доступа для внесения изменений на сервере, и я понятия не имею, что сказать внутреннему разработчику изменить.
Я также читал, что xlink: href устарела (https://css -tricks.com/on-xlinkhref-being-deprecated-in-svg/) и должен быть заменен на <use>
, но я не могу найти документацию о том, как использовать теги <use>
в сочетании с <image>
теги.MDN (https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image) и W3C (https://www.w3.org/TR/SVG11/struct.html#ImageElement) по-прежнему используют xlink: href в своей документации <image>
.
Если ошибка вызвана устареванием xlink: href, как мне правильно сделатьссылаться на файл изображения в <svg>
? Если <use>
является предпочтительным методом, как бы я переписал приведенный выше код для приспособления?
Любая помощь по переписыванию моего кода для правильного отображения изображений или перенастройки сервераотображать их было бы спасением жизни.
Спасибо за ваше время.
Мой код указан ниже:
<div title aria-label="aimation" style="width: 100%; height: 100%; overflow: hidden; margin: 0px auto;">
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" viewbox="0 -100 800 1000" width="1340" height="1440" style="width: 100%; height: 100%;">
<g>
<g id="o-phone" class="image" transform="translate(-500 500)">
<image width="500px" height="300px" href="/img/omnichannel/Phone.svg"></image>
</g>
<g id="o-floating-shelf" class="image" transform="translate(750 -200)">
<image width="120px" height="300px" href="/img/omnichannel/Floating Shelves.svg"></image>
</g>
<g id="o-bookshelf1" class="image" transform="translate(445 -1000)">
<image width="150px" height="300px" href="/img/omnichannel/Bookshelf.svg"></image>
</g>
<g id="o-stack1" class="image" transform="translate(520 -500)">
<image width="35px" height="300px" href="/img/omnichannel/Stack Back Bottom.svg"></image>
</g>
<g id="o-bookshelf2" class="image" transform="translate(420 -1000)">
<image width="150px" height="300px" href="/img/omnichannel/Bookshelf.svg"></image>
</g>
<g id="o-stack2" class="image" transform="translate(390 -500)">
<image width="35px" height="300px" href="/img/omnichannel/Stack Front Bottom.svg"></image>
</g>
</g>
</svg>
</div>