Bonjour,
étant toute nouvelle utilisatrice de SVG veuillez excuser ma naïveté.
Pouvez-vous m'expliquer pourquoi le code qui suit fonctionne très bien sous IE après avoir installé Adobe SVG Viewer et qu'il ne fonctionne pas avec Firefox 3.
Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="300" onmousemove="init(evt)">
<defs>
<menu id="menu1">
<header>Menu utilisateur</header>
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<item onactivate="clone_objet(evt)">Cloner</item>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
<menu id="menu0">
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
<menu id="menu2">
<header>Menu utilisateur</header>
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<menu>
<header>Police</header>
<item onactivate="police(evt,'Arial')">Arial</item>
<item onactivate="police(evt,'Times New Roman')">Times New Roman</item>
<item onactivate="police(evt,'Tahoma')">Tahoma</item>
<item onactivate="police(evt,'Verdana')">Verdana</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
</defs>
<script>
 
var n=0;
var svgdoc="";
var cible,XPos,YPos;
function init(evt)
{svgdoc=evt.getTarget().getOwnerDocument();
cible=evt.getTarget();XPos=evt.getClientX();YPos=evt.getClientY()}
 
function faire_menus(nom_menu)
{var newMenuRoot=parseXML(printNode(document.getElementById(nom_menu)),cont extMenu);
contextMenu.replaceChild(newMenuRoot,contextMenu.firstChild)}
 
function aide()
{alert("Testez le menu contextuel\nqui varie suivant l'objet\nsur lequel vous cliquez\navec le bouton droit")}
 
function clone_objet(evt)
{n=n+1;
objet=svgdoc.getElementById("rectangle");
var newnode = objet.cloneNode(true);
newnode.setAttribute ("x",100+10*n);newnode.setAttribute ("y",100+10*n);
newnode.getStyle().setProperty("fill","blue");
var contents = svgdoc.getElementById ('affiche');
newnode = contents.appendChild (newnode)}
 
function colorier(evt,couleur)
{cible.getStyle().setProperty("fill",couleur)}
 
function police(evt,fonte)
{cible.getStyle().setProperty("font-family",fonte)}
</script>
<rect x="0" y="0" width="400" height="300" onmousemove="faire_menus('menu0')" style="fill:white;opacity:0.2"/>
<g id="affiche">
<text id="texte" onmousemove="faire_menus('menu2')" x="200" y="40" style="text-anchor:middle;font-size:15;font-family:Arial;fill:red">Tes tez le menu contextuel (bouton droit)</text>
<rect id="rectangle" onmousemove="faire_menus('menu1')" onclick="clone_objet(evt)" x="50" y="50" width="100" height="50" style="fill:green"/>
</g>
</svg>
Merci.