2009-11-16 3 views
2

J'ai rencontré un problème intéressant et je ne suis pas sûr qu'il puisse être résolu.Envoi de données à un script dans une page de conteneur à partir d'un script exécuté dans une page incorporée

J'ai un script JS (par exemple script1) en cours d'exécution dans un document SVG avec beaucoup de rectangles qui a recueilli des informations saisies par l'utilisateur comme qui rectangle a été cliqué/données correspondant au rectangle etc.

Ce document SVG est incorporé dans une page HTML avec des balises <object>.

Le problème est que script1 doit transmettre les informations collectées à un autre script JS (disons script2) exécuté dans la page HTML du conteneur.

Est-ce que quelqu'un sait comment faire cela? En outre, pour améliorer ma compréhension, que se serait-il passé si j'avais utilisé les étiquettes <embed> ou ; quelle méthode aurait été appropriée alors?

Répondre

1

Tant que les svg référencés sont sur le même domaine que les balises embed/iframe/object de référence, vous pouvez utiliser window.frameElement pour trouver l'élément qui a intégré le svg à l'intérieur du svg. Vous pouvez utiliser object_or_iframe_or_embed.contentDocument pour obtenir le document svg référencé du côté HTML. Il existe également la méthode héritée .getSVGDocument() qui peut être utilisée à la place de .contentDocument.

Exemples d'appels svg-à-parent (#1 et #2), et les appels parents-à-svg (#4), pour un peu plus d'informations voir le SVG Primer publié par exemple par le groupe d'intérêt SVG.

Questions connexes