SVG xlink:href путь к.jpg не работает (внутри моего сайта)
Почему, когда я открываю только мой файл.svg в браузере, он показывает изображение из xlink:href, но внутри моего проекта веб-сайта он не показывает изображение из xlink:href?
Это изображение из xlink:href -> https://s10.postimg.org/ky5y39vvd/Untitled-19.png
Внутри моего сайта я использую тег img или background-image для ссылки на мой файл.svg...
Дело в том, что я хочу, чтобы файл.svg работал внутри моего проекта сайта:)
Это мой файл SVG:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full">
<title>Text Pattern Fill Example</title>
<defs>
<pattern id="img1" patternUnits="userSpaceOnUse" width="120" height="140">
<image xlink:href="https://s10.postimg.org/e2h45vefd/alex-iby.jpg" x="0" y="0" width="120" height="300"
transform="translate(135.780723, 50.780723) rotate(90.000000) translate(-55.780723, -60.780723)"
/><!-- Image from http://silviahartmann.com/background-tile/6-grass-meadow-tile.php-->
</pattern>
</defs>
<path d="M59.2078786,111.129597 C101.335439,132.142715 115.952158,85.5158857 115.952158,53.9197716 C115.952158,22.3236576 102.07475,5.17108475 70.7357496,5.17108475 C39.3967496,5.17108475 13.4042112,19.8971044 -0.939389391,40.9853457 C-15.28299,62.0735871 17.0803178,90.1164792 59.2078786,111.129597 Z" transform="translate(55.780723, 60.780723) rotate(-90.000000) translate(-55.780723, -60.780723) " fill="url(#img1)"></path>
</svg>
1 ответ
Проблема связана с правилами безопасности, которые предотвращают загрузку внешних URL-адресов из другого домена. Если вы загрузите это растровое изображение изнутри вашего веб-сайта - это будет разрешено браузерами.
Но это будет работать с вашего локального хоста, что разрешено в браузерах.
См. Эту статью для соответствующего контекста: https://medium.com/the-ui-files/load-svgs-from-different-domains-ports-protocols-1614e1af6101