.. bonsoir à tous !
je désire afficher des informations depuis une page Html concernant un fichier SVG
importé via une balise <embed> ( c'est celle qui fonctionne meme si ce n'est pas la recommandation du w3c) et cela grace à un fichier Javascript ...
voir la page : http://svg-devzone.homelinux.com/svg/lignes.html
Mon raisonnement était le suivant (un peu tirer par mon cheveux !
)
j'ai un code javascript (une fonction) qui donne des infos sur un document :
rien de transcendant ...
J'ai un fichier SVG que j'affiche via embed .. donc aucune représentation structurel de ce graphique dans ma page Html
je ne peux pas me servir de ce document depuis ma page comme "document cible"
et si j'appelle un fichier JS externe (via un "bouton <input> + gestionnaire d'évènement ) il ne peut savoir quel document SVG est concerné ( ou je sais pas faire !)
Ma solution : j'ai inséré le JS dans le document SVG ( http://svg-devzone.homelinux.com/Svg_Library/line.svg ) et l'élément racine contient l'attribut gestionnaire onclick="ma_fonction" ..
le code JS est appelé par du code pas catholique du tout
depuis le Html)
je me suis dis ; ni vu ni connu le lien va chercher le javascript dans le Doc Svg ..
et la je peux agir sur le graphe Svg depuis ma page Html ...
... ben oui ! mais ca ne marche qu'avec Firefox 1.5 ( linux) .
Opera lui ne me lit plus le graphe concerné et me demande meme de charger le plugins de Svg (m'enfin Opera tu sais bien que le Svg est ton ami et en natif en + )
???
Sous IE je sais pas j'ai pas IE ( pas envie d'émuler avec Wine qui m'accepte des Exe dans le système ..
)
Alors si vous avez une idée pour pouvoir à parir d'une page Html , appeller un code JS qui intervient sur un Document Svg (Xml) via le Dom ...
?
Surement une histoire de link xlink et import !!!?
merci de votre aide
++
edit : Sous IE je pense pas que cela marche vu que le viewer d'Adobe lors du parse affecte svgDocument comme nom du document ..et j'ai pas mis le code :
qui gére cela !
Modifié par kzone (23 Oct 2006 - 18:30)
je désire afficher des informations depuis une page Html concernant un fichier SVG
importé via une balise <embed> ( c'est celle qui fonctionne meme si ce n'est pas la recommandation du w3c) et cela grace à un fichier Javascript ...
voir la page : http://svg-devzone.homelinux.com/svg/lignes.html
Mon raisonnement était le suivant (un peu tirer par mon cheveux !

j'ai un code javascript (une fonction) qui donne des infos sur un document :
function line_infos(evt) {
var objet_cible = document.getElementById("ligne");
alert("nodeName : " + objet_cible.nodeName);
alert("nodeType : " + objet_cible.nodeType);
alert("nodeValue : " + objet_cible.nodeValue);
}
rien de transcendant ...
J'ai un fichier SVG que j'affiche via embed .. donc aucune représentation structurel de ce graphique dans ma page Html
<embed src="../Svg_Library/line.svg" width="200"
height="200" type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/">
</embed>
je ne peux pas me servir de ce document depuis ma page comme "document cible"
et si j'appelle un fichier JS externe (via un "bouton <input> + gestionnaire d'évènement ) il ne peut savoir quel document SVG est concerné ( ou je sais pas faire !)
Ma solution : j'ai inséré le JS dans le document SVG ( http://svg-devzone.homelinux.com/Svg_Library/line.svg ) et l'élément racine contient l'attribut gestionnaire onclick="ma_fonction" ..
le code JS est appelé par du code pas catholique du tout

<script src="../Svg_Library/line.svg" type="text/javascript" charset="utf-8"></script>
je me suis dis ; ni vu ni connu le lien va chercher le javascript dans le Doc Svg ..
et la je peux agir sur le graphe Svg depuis ma page Html ...

... ben oui ! mais ca ne marche qu'avec Firefox 1.5 ( linux) .
Opera lui ne me lit plus le graphe concerné et me demande meme de charger le plugins de Svg (m'enfin Opera tu sais bien que le Svg est ton ami et en natif en + )
???
Sous IE je sais pas j'ai pas IE ( pas envie d'émuler avec Wine qui m'accepte des Exe dans le système ..

Alors si vous avez une idée pour pouvoir à parir d'une page Html , appeller un code JS qui intervient sur un Document Svg (Xml) via le Dom ...


Surement une histoire de link xlink et import !!!?
merci de votre aide
++
edit : Sous IE je pense pas que cela marche vu que le viewer d'Adobe lors du parse affecte svgDocument comme nom du document ..et j'ai pas mis le code :
function init(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
}
qui gére cela !
Modifié par kzone (23 Oct 2006 - 18:30)