2010-08-03 15 views
2

J'ai remarqué qu'il n'y a pas de document.write en SVG.SVG 1.1 Référence JavaScript

Actuellement, je suis à la recherche d'une fonction similaire. Malheureusement, je n'ai pas pu trouver un site web qui répertorie toutes les fonctions liées ou supportées par le DOM SVG (par exemple liées à l'objet document). Connaissez-vous des ressources en ligne où je peux trouver la documentation SVG, en particulier liée à scriptin (quelque chose de similaire à un JAVADOC).

Répondre

4

Vous ne pouvez pas utiliser document.write depuis SVG est XML, pas de balises soupe .

Si vous souhaitez importer un nœud XML complet, vous devez le faire manuellement ou utiliser la méthode standard DOM importNode. Par exemple, si vous récupérez un noeud XML à partir d'AJAX, utilisez d'abord le fichier responseXML pour analyser la réponse en XML, puis importez-le avec la méthode document.importNode afin de pouvoir l'utiliser dans votre document SVG et l'insérer avec une méthode DOM standard (appendChild ou insertBefore).

+0

Avez-vous une idée comment puis-je supprimer tous les noeuds d'abord, puis ajouter ce dont j'ai besoin, en utilisant importNode? –

+0

Oui. La méthode replaceChild! Si vous pouvez lire le français (ou même si vous ne pouvez pas, regardez simplement les exemples), vous devriez lire http://svground.free.fr/dom.php#clonage Voici la signature: myparentnode.replaceChild (newDomElement, DOMNodeToReplace). Vous pouvez facilement récupérer le nœud parent en utilisant la propriété parentNode. Par exemple. : papa = document.getElementById ('nodeToReplace'). parentNode; – Tangui

3

Les svg spec from w3c énumère les fonctions/propriétés qui sont spécifiées (mais je ne suis pas sûr que tous les navigateurs appliquent la spécification correcte)

+0

Merci pour votre réponse. J'ai trouvé ce site quand googling, mais je ne pouvais pas trouver les fonctions liées à "document" ... –

2

Comme déjà mentionné, XMLHttpRequest est une option.

Un autre est l'interface (standard non-w3c) DOMParser qui est supporté assez bien par tous les navigateurs sauf IE, et peut être utilisé pour implémenter quelque chose de similaire à document.write dans le script. Une autre option est les méthodes HTML5 innerHTML/outerHTML (notez que les anciens navigateurs essaieront d'analyser les chaînes comme HTML4, ce qui ne fonctionnera pas, et il y a des différences dans la façon dont xml est analysé, par exemple sur le type de document mime). Si nous continuons, il y a DOM 3 Load & Save et parseXML la méthode définie dans SVG Tiny 1.2.

2

Une grande partie de l'API DOM standard que vous utilisez dans les pages HTML fonctionne également en SVG. Le W3C DOM specification est un bon point de départ, mais vous pouvez également regarder w3 schools DOM reference and tutorials.

Pour toutes les interfaces DOM spécifiques au SVG, je pense que la meilleure référence est la SVG specification. Chaque section a une sous-section appelée "interfaces DOM" qui décrit précisément ce que vous cherchez.