Newsgroup: it.comp.lang.javascript
Titolo: svg: scorporare il javascript

per la verità, ho postato già sulla lista autonoma per l'svg, ma
essendo inattiva dal 2004, dubito che otterrò risposta.
sono alle primissime armi con l'svg e ho testato lo script di
"animazione" del w3:
http://www.w3.org/TR/SVG11/script.html
mi piacerebbe scorporare il codice javascript in un file esterno, come
avviene facilmente per i css, usando il tag:
<?xml-stylesheet href="mystyle.css" type="text/css"?>
descritto nella documentazione.
qual'è il trucco analogo per il javascript, e dove avrei potuto
trovarlo?

mi rispondo da solo:
  <script type="text/ecmascript" xlink:href="pippo.js"></script>
per la documentazione:
http://www.w3.org/TR/SVG11/linking.html#xlink-att-mod
e forse ci sono altri modi che ancora non conosco.

però bisogna fare attenzione a dichiarare precedentemente il
namespace:
   xmlns:xlink="
http://www.w3.org/1999/xlink
"
a me questa riga non era stata aggiunta di default da inkscape (sono
alle prime armi anche lì) e mi dava errore.

 trovarlo?
č semplicissimo, nessun trucco.
Se tu hai per esempio del javascript cosě:
<script type="text/javascript">
function mailThisUrl(){window.location = "mailto:"+"Scrivi qui l'indirizzo 
del destinatario"+"?subject="+"Ti segnalo la pagina  "+document.title+"  sul 
sito  
www.ilmiopaese.net
  "+ "&body=Per accedere direttamente alla pagina 
"+document.title+", l'indirizzo completo Internet č :  "+ 
escape(window.location) + ".     Con l'occasione, i miei cordiali saluti";}
</script>
Metti la parte
function mailThisUrl(){window.location = "mailto:"+"Scrivi qui l'indirizzo 
del destinatario"+"?subject="+"Ti segnalo la pagina  "+document.title+"  sul 
sito  
www.ilmiopaese.net
  "+ "&body=Per accedere direttamente alla pagina 
"+document.title+", l'indirizzo completo Internet č :  "+ 
escape(window.location) + ".     Con l'occasione, i miei cordiali saluti";}
nel blocco note
(in pratica escludendo i tag iniziali e finali).
e salva il tutto nella cartella che ti interessa con estensione *.js ad 
esempio pippo.js (attenzione alla path)
al posto del codice: (che devi cancellare)
<script type="text/javascript">
function mailThisUrl(){window.location = "mailto:"+"Scrivi qui l'indirizzo 
del destinatario"+"?subject="+"Ti segnalo la pagina  "+document.title+"  sul 
sito  
www.ilmiopaese.net
  "+ "&body=Per accedere direttamente alla pagina 
"+document.title+", l'indirizzo completo Internet č :  "+ 
escape(window.location) + ".     Con l'occasione, i miei cordiali saluti";}
</script>
matti il comando:
<script type="text/javascript" src="pippo.js"></script>
Fai attenzione che questo comando deve trovarsi esattamente dove si 
trova/troverebbe il codece che hai cancellato.
Quando la pagina viene caricata nel browser viene letto dal file   pippo.js 
ed il suo contenuto e messo nella pagina dove esattamente si trova  il 
comando chiamante.
Saluti
Leo


ma l'attributo src non è previsto nella lista ufficiale:
http://www.w3.org/TR/SVG/attindex.html

 ha scritto nel messaggio 
news:e0cbfa47-513d-44ca...@b1g2000hsg.googlegroups.com...

Non saprei, io li uso così e funzionano.
Saluti
Leo 

 Leo
interessante. a me proprio non funziona, con firefox-2.0.0.12.
non ho explorer per confrontare.
potresti postare un documento di esempio, per fare il confronto con i
miei?
nota: ho visto che un moderatore ha tolto dall'oggetto il riferimento
ad svg, che invece è essenziale nel contesto.

 ad svg, che invece è essenziale nel contesto.
Con tutta la simpatia che ho per Firefox ( e che utilizzo) continuo a 
ritenere che non sia, per adesso, all'altezza di IE.
Purtroppo la standard lo fa chi copre oltre il 90% del mercato in barba a 
tutti gli standard ufficiali.
Per questa ragione ritengo che se tu scrivi delle pagine web contenenti 
javascript e vuoi che queste vengano visitate devono funzionare sotto IE e 
possibilmente sotto FF (non l'inverso).
Esistono delle guide in rete dove viene spiegato come scrivere del codice 
per fare funzionare il javascript in entrambi i browser.
Per sommi capi funziona cosi.
1) al caricamento della pagina viene letto il tipo di browser:
  <script language="JavaScript" type="text/javascript">
var uA = navigator.userAgent;
var browserType = "unknown";
if (uA.indexOf("Opera") > -1) {
  browserType = "Opera";
} else if (uA.indexOf("Safari") > -1) {
  browserType = "Safari";
} else if (uA.indexOf("Konqueror") > -1) {
  browserType = "Konqueror";
} else if (uA.indexOf("Gecko") > -1) {
  browserType = "Mozilla";
} else if (uA.indexOf("MSIE") > -1) {
  browserType = "Internet Explorer";
}
window.alert(browserType);
</script>
2) in base al risultato si manda ad una funzione scritta su misura per il 
browser.
Quindi, ti suggerisco di reinstallare IE.
In quanto ad una pagina in rete poi guardare questa:
http://www.ilmiopaese.net/tp/siracconta/proverbi/proverbi_modi_estratto_database.asp
dove il codice chiamante è
<script type="text/javascript" 
src="proverbi_modi_estratto_database.js"></script>
che ovviamente chiama il file:
proverbi_modi_estratto_database.js
Funzione con IE e FF.
Leo


ok. ma quello è un esempio di documento html.
io sto muovendo i primi passi con svg e voglio esercitarmi nel
rispetto degli standard. quelli ufficiali.
IE non lo possono reinstallare, perché sul mio linux non è mai stato
presente.
talvolta controllo le cose sui computer al lavoro, ma la compatibilità
non è il primo dei miei obiettivi. so che la vita è più dura per noi
integralisti, ma è anche più bella.
comunque, grazie anche al tuo contributo, credo che possiamo trovarci
daccordo su questo punto:
in html (e simili), per scorporare il javascript si usa il tag script
con l'attributo src.
in svg bisogna definire il namespace in questo modo:
<xmlns:xlink="
http://www.w3.org/1999/xlink
" >
mentre il tag script usa l'attributo xlink:href  .

 con l'attributo src.
:-))) Non è mia un dibattito politico. :-))))
Saluti
Leo

 ad svg, che invece è essenziale nel contesto.
Nessun moderatore. :-)
È un noto bug di OE (Leonardo ti ha risposto con quello), per cui se nel 
subject si trovano fino a quattro lettere seguite da ":", queste vengono 
eliminate nel reply. Se le mettevi fra parentesi [svg] OE le manteneva.
-- 
    * b *
  *   y   *
*   Piero   *
[ /deus ex machina/ ]