Newsgroup: it.comp.lang.javascript
Titolo: libreria Bluff e excanvas su explorer - parte2

Il problema lla fine è stato risolto solo in parte.
Se faccio una pagina di prova, funziona anche su explorer.
Nel mio caso pratico però, devo realizzare 4 grafici con dei dati che
recupero da una tabella MySQL (delle statistiche sulle visite di un
sito).
Visto che prima il problema era l'onload, ho provato a realizzare una
tabella con 4 celle, dentro ognuna di esse il div con l'elemento
canvas. Ogni canvas ha un id diverso (genero graph1,graph2,graph3 e
graph4).
Ho una struttura dati in cui estraggo ed elaboro i dati da
visualizzare poi graficamente.
Compongo la pagina e alla fine chiamo con onload una funzione che
stampa o meno i grafici, a seconda che esistano dei valori o meno per
quel particolare grafico:
<script type=\"text/javascript\">window.onload=stampagrafici([tot1],
[tot2],[tot3],[tot4]);</script>
questa funzione, genera il grafico i se tot[i] è valorizzato, ovvero
se tot1 è>0 allora genera il grafico 1, etc.
Su firefox & C. funziona, su Explorer no e ho sempre lo stesso errore
di prima.
I file js sono corretti, perchè nella pagina di esempio di prima
funzionava.
Ho provato a far stampare solo il prmo grafico ma non funziona lo
stesso.
Come posso fare?

non so se può essere utile: le pagine web e i javascript non sono
nella stessa cartella (per motivi di ordine).
I percorsi ai file però sono corretti, infatti nei browser buoni tutto
funziona.

 
io mi occupo di server side per� ...
mi sembra che cos� assegni il valore ritornato dalla funzione alla
propriet� onload, quindi viene eseguita prima dell'effettivo caricamento
di tutti gli asset.
scrivi semplicemente:
window.onload=stampagrafici;
poi da dentro stampagrafici recuperi i valori in qualche modo...
non ho ben capito come li passi...
li crei server side in php?
nel caso prova ad assegnare ad onload una funzione anonima:
window.onload=function()
{
  stampagrafici(tot1,tot2,tot3,...);
}

 }
così funziona. se non me lo avessi suggerito tu non ci sarei mai
arrivato.
Rimane solo una cosa da sistemare: se nel grafico a torta c'è una sola
voce, viene visualizzato non un cerchio ma una riga.
Qui però il problema è della libreria, vedrò se ci sono dei workaround
per aggirare il problema.
Grazie mille dell'aiuto

 
.... Douglas  Crockford docet ....
comunque si quello del cerchio->riga � un problema di molte librerie che
fanno grafici a torta una volta me l'ha fatto pure openoffice mah!

 fanno grafici a torta una volta me l'ha fatto pure openoffice mah!
sicuramente sarete in grado di trovare molte soluzioni migliori; io ho
risolto così: studiando il sorgente ho visto che per disegnare lo
spicchio viene calcolato da quale angolo a quale angolo disegnare. Se
c'è un solo valore nel grafico, lo spicchio parte da 0 e arriva a 360
gradi. Non so bene per quale motivo ma viene visto come uno spicchio
di ampiezza 0 anzichè 360. Ho inserito un controllo per cui se
l'angolo di partenza è 0 e quello finale è 360, i due angoli diventano
0 e 359; adesso funziona.

 0 e 359; adesso funziona.
ma non � errore disegnare una linea.
Per capirsi se se non ci sono dati deve disegnare un cerchio vuoto?
e perch�? se non ci sono dati un grafico a torta al limite non dovrebbe
nemmeno apparire oppure mostra correttamente una linea che rappresenta
uno spicchio dello zero per cento.

 uno spicchio dello zero per cento.
se non ci sono valori sono d'accordo, il cerchio non deve essere
visualizzato, ma se c'è un solo valore la torta esiste e deve essere
formata da un solo spicchio.