J'ai un fichier HTML nommé index.html, dans lequel j'ai inclus un svg (en utilisant l'object-tag) et un fichier js (en utilisant le script-tag). Les fonctions js fonctionnent parfaitement lorsqu'elles sont appelées dans le fichier HTML. Maintenant, quand je veux accéder à l'une de mes fonctions js dans le fichier svg, je dois lier le fichier js dans mon fichier svg (en utilisant xlink). Les fonctions fonctionnent toujours dans le fichier svg, mais dès que ces fonctions font référence à un élément du fichier HTML (par exemple document.getElementById ('div1')), elles ne fonctionnent plus (Ma supposition: Probablement parce que la fonction ne marche pas recherchez l'élément dans le code HTML, mais dans le fichier SVG.) Que puis-je faire pour que ces fonctions fonctionnent à nouveau?SVG et HTML avec fichier Javascript externe
Répondre
Vous pouvez utiliser les objets supérieurs ou parent pour obtenir du svg au conteneur html. Il y a un svg to container html and container html to svg example with extensive comments here complet.
Lorsque vous intégrez une fonction JS dans un SVG, ils sont toujours exécutés dans le cadre privé du SVG, et ne peut donc accéder à quoi que ce soit en dehors de celui-ci. Lorsque vous voulez créer une application web interactive avec des SVG dynamiques, vous devez mettre les fonctions JS qui modifient le SVG dans le code javascript du HTML. Vous pouvez accéder à une arborescence de documents SVG à partir du javascript incorporé HTML en obtenant le .contentDocument
de l'élément <object>
.
Le svg est un document distinct lors de l'utilisation
Dans les navigateurs modernes, vous pouvez simplement placer le svg directement dans le code HTML et JS (et CSS) fonctionnera de façon transparente sur les deux.
<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. SVG remplit le fichier externe
- 2. édition graphique SVG externe via JavaScript
- 3. html et Svg to Canvas javascript
- 4. appel html Javascript objet externe du fichier externe
- 5. Charger le fichier SVG externe dans la variable et ajouter à html
- 6. Exécuter Javascript externe en HTML
- 7. JavaScript createElement et SVG
- 8. Est-il possible de style fichier svg externe avec css?
- 9. Charger et ajouter un fichier html externe
- 10. HTML5 Inline SVG avec CSS externe
- 11. lire le fichier externe avec Javascript
- 12. svg et javascript
- 13. Javascript et SVG
- 14. Javascript placement d'un fichier externe
- 15. SVG interactif avec JavaScript | intégrer ou non SVG?
- 16. Appeler un fichier javascript externe
- 17. éléments redimensionnables SVG avec JavaScript et D3
- 18. Carte interactive avec svg et javascript
- 19. Entité HTML dans une chaîne (fichier JavaScript externe)
- 20. Fichier Javascript externe avec balises Script
- 21. Charge fichier php externe avec javascript src
- 22. fichier javascript externe avec ruby incorporé
- 23. Fichier javascript externe Problème
- 24. dessin SVG simple pour l'animation HTML JavaScript
- 25. exécuter une expression XPath SVG dans un HTML avec javascript
- 26. Sélection d'éléments SVG et de chemin avec JavaScript
- 27. HTML/JavaScript: accéder au document d'emballage d'un svg intégré
- 28. Charger dans un fichier .html externe avec jQuery
- 29. Lier le code Javascript dans le fichier externe au HTML
- 30. Est-il possible d'utiliser des masques Webkit CSS avec SVG sans fichier externe?
Une question similaire: http://stackoverflow.com/questions/14274252/combining-svg-html-and-javascript. –