Литеральные URL в динамически генерируемых SVG запрещены?
Я генерирую SVG динамически в JavaScript, который отлично работает. Когда я пытаюсь включить текущий файл location.href в виде литеральной строки в текстовое содержание изображения (например, "Источник: http://www.google.com/"), происходит сбой. Когда я использую encodeURIComponent(location.href)
опять работает (encodeURI(location.href)
нет), но URL уродлив / менее читабелен.
Я предполагаю, что SVG запрещает включение буквальных URL?
Как отобразить location.href генерирующей страницы как некодированный URL? Я пытался найти эквивалент функции JSON.stringify, чтобы генератор SVG не интерпретировал ее как URL.
1 ответ
Для тех, кто сталкивается с той же проблемой, я обнаружил, что при рендеринге любого текста - содержимого страницы или URL- как SVG, вы должны заменить все экземпляры &
с эквивалентом ASCII &
, Это может означать, что вам нужно отфильтровать символы ASCII, потому что в результате вы получите буквенный код ASCII, например: "blah blah Meat & Potatoes blah blah
".