Размещение элемента <script>
внутри SVG (независимо от того, используете ли вы встроенный код или ссылку в другом файле через xlink:href
), правильно, если ваш сценарий подходит для самого SVG, с другим контекстом или без него, в который он может быть помещен. Это необходимо, например, если у вас есть только документ SVG со сценарием .
Например, допустим, у вас есть HTML-страница и вы включаете два SVG-файла.
Первый файл SVG имеет некоторую пользовательскую анимацию, созданную с помощью JavaScript. Этот SVG-файл должен иметь собственный элемент script напрямую.
Второй файл SVG - это просто причудливое изображение, и вы хотите сделать его таким, чтобы при нажатии на это изображение отправлялась форма на вашей HTML-странице. Для этого сценарий должен находиться на вашей HTML-странице, поскольку он взаимодействует как с SVG, так и с вашей HTML-формой. Вот аналогичный пример , где кнопки в HTML используются для управления SVG.
Строка становится размытой, когда вы вставляете свой SVG-контент во что-то XHTML5 вместо ссылки на внешний SVG-файл. Является ли это SVG содержимым своего собственного зверя, или это такая же часть HTML-страницы, как отдельный абзац текста?
Я лично стремлюсь вставить свой SVG в HTML и, таким образом, оставить весь свой сценарий вне SVG. Либо будет работать, хотя.