Newsgroup: it.comp.lang.javascript
Titolo: generare codice SVG con javascript

Ciao a tutti, premettendo di essere un dilettante, vorrei renderizzare della
grafica vettoriale SVG in una finestra, generandola in modo dinamico con
javascript.
N.B. In questa funzione esempio il codice SVG è statico.
La seguente funzione non solo non "funziona", ma fa impazzire anche tutto il
restante codice (forse fa del casino a compile time)
function graph()
{
win_graph =
window.open('','','width=200,height=200,toolbar=no,scrollbars=yes,resizable');
win_graphd = win_graph.document;
win_graphd.write("<?xml version="1.0"?>")
win_graphd.write("<svg xmlns="
http://www.w3.org/2000/svg
">")
win_graphd.write("<g style="fill-opacity:0.7; stroke:black;
stroke-width:0.1cm;">")
win_graphd.write("<circle cx="6cm" cy="2cm" r="100" style="fill:red;"
transform="translate(0,50)" />")
win_graphd.write("<circle cx="6cm" cy="2cm" r="100" style="fill:blue;"
transform="translate(70,150)" />")
win_graphd.write("<circle cx="6cm" cy="2cm" r="100" style="fill:green;"
transform="translate(-70,150)"/>")
win_graphd.write("</g>")
win_graphd.write("</svg>")
}
se invece di usare il metodo .write, apro la finestra caricando direttamente
lo stesso codice da un file funziona! (naturalmente con browser abilitati a
SVG)
Inizio a studiare Java2?
--------------------------------
Inviato via 
http://usenet.libero.it

 SVG)
Non chiedermi di SVG, ma c'e' un errore di fondo che forse ti crea problemi: 
non hai aperto e chiuso il "documento" nella finestra prima e dopo averci 
scritto.
Dovresti fare qualcosa del tipo:
win_graph = window.open( ... );
win_graphd = win_graph.document;
win_graphd.open(); < ----- aggiungi questa
win_graphd.write("<?xml version="1.0"?>")
. . .
win_graphd.write("</svg>")
win_graphd.close(); < ----- aggiungi questa
Prova un po'.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 Prova un po'.
Hai ragione, avevo dimenticato,
anzi meglio mettere win_graphd.write('text/xml')
ma non basta.


 Inizio a studiare Java2?
non sarebbe una cattiva idea, anche se non ha molto a che vedere con il tuo
problema :))
~~
artemis.alpeia
java != javascript

 messo la curiosità :)
 Si c'è un plug-in della ADOBE, che ha partecipato attivamente alla specifica
di SVG. Altrimenti esistono build non ufficiali (per problemi di licenze...)
di Mozilla con supporto nativo, credo sia mooolto meglio (a parte la
lentezza generale del browser).
(
www.w3c.org/svg
 e giù di lì)



function graph()
{
win_graph =
window.open('','','width=200,height=200,toolbar=no,scrollbars=yes,resizable');
win_graphd = win_graph.document;
win_graphd.open('image/svg+xml');
//win_graphd.open();
image="<?xml version=\"1.0\"?><svg xmlns=\"
http://www.w3.org/2000/svg\
">"+
"<g style=\"fill-opacity:0.7; stroke:black; stroke-width:0.1cm;\">"+
"<circle cx=\"6cm\" cy=\"2cm\" r=\"100\" style=\"fill:red;\"
transform=\"translate(0,50)\" />"+
"<circle cx=\"6cm\" cy=\"2cm\" r=\"100\" style=\"fill:blue;\"
transform=\"translate(70,150)\" />"+
"<circle cx=\"6cm\" cy=\"2cm\" r=\"100\" style=\"fill:green;\"
transform=\"translate(-70,150)\"/></g></svg>";
win_graphd.write("<IMG SRC=\"javascript:opener.image\">");
win_graphd.close();
}
Ho aggiunto il tipo MIME, e l'opener javascript, ma non funziona, si apre
solo la nuova finestra. Explorer mi da l'iconcina dell'immagine non
disponibile, Mozilla niente
