У меня есть HTML-файл с именем index.html, в который я включил svg (используя тег-объект) и js-файл (используя тег script). Функции js работают отлично, когда вызывается внутри HTML-файла. Теперь, когда я хочу получить доступ к одной из моих js-функций внутри svg-файла, мне нужно связать с js-файлом в моем svg-файле (используя xlink). Функции все еще работают внутри файла svg, но как только эти функции относятся к любому элементу в файле HTML (например, document.getElementById ('div1')), они больше не работают (Мое предположение: возможно, потому что функция doesnt найдите элемент внутри HTML, но внутри SVG-файла.) Что я могу сделать, чтобы эти функции снова работали?SVG и HTML с внешним Javascript-файлом
ответ
Вы можете использовать верхний или родительский объекты для перехода от svg к контейнеру html. Существует svg to container html and container html to svg example with extensive comments here.
Когда вы внедряете JS-функцию в SVG, они всегда выполняются в частной области SVG и, следовательно, не могут получить доступ к чему-либо за ее пределами.
Если вы хотите создать интерактивное веб-приложение с динамическими SVG, вы должны поместить функции JS, которые изменяют SVG в javascript-коде HTML. Вы можете получить доступ к дереву документов SVG из встроенного javascript в HTML, получив .contentDocument
элемента <object>
.
svg является отдельным документом при использовании
В современных браузерах вы можете просто разместить svg непосредственно в HTML, а JS (и CSS) будет работать без проблем на обоих.
<div>
<svg:svg xmlns:svg="www.w3.org/2000/svg" version="1.1" height="100" width="100" viewBox="0 0 100 100">
<svg:circle id="circle" cx="50" x="50" y="50"/>
</svg:svg>
</div>
<script>
document.getElementById("circle").style.fill="red";
</script>
- 1. HTML5 Inline SVG с внешним CSS
- 2. Как стиль SVG с внешним CSS?
- 3. HTML-преобразование с внешним css
- 4. jsBlocks с внешним шаблоном html
- 5. Привязать событие щелчка к встроенному элементу SVG с внешним JS
- 6. HTML и SVG проклейки вопрос
- 7. JavaScript, SVG, HTML и CSS
- 8. JavaScript и SVG в HTML
- 9. Изменение SVG в HTML с помощью d3
- 10. ASP.Net MVC HTMLHelper с внешним HTML
- 11. Невозможно изменить атрибут html с внешним скриптом
- 12. Перспектива HTML-подписи с внешним текстом
- 13. Заменить DIVS innerHTML с внешним HTML сайта
- 14. Можно использовать getElementsByClassName с внешним HTML-файлом?
- 15. PhantomJs: встроенный HTML с внешним файлом CSS
- 16. HTML-ссылка с внешним CSS не работает
- 17. Как связать html с внешним компонентом? (Угловая)
- 18. может jquery svg заполнить html на svg?
- 19. Координаты Html to SVG
- 20. SVG-файлы в html
- 21. Включить svg в html
- 22. Отображение SVG в HTML
- 23. Проблемы с SVG-клипом с использованием HTML и CSS
- 24. HTML - Corp и изменить размер SVG изображения
- 25. mysql - orderby и проблема с внешним внешним соединением
- 26. Raphaël - SVG поверх HTML
- 27. Сохранить тег SVG с HTML-страницы на изображение SVG
- 28. Как вставить HTML и SVG элемент формируется
- 29. html и Svg to Canvas javascript
- 30. Точная SVG наведения в CSS и HTML
Аналогичный вопрос: http://stackoverflow.com/questions/14274252/combining-svg-html-and-javascript. –