Salve a tutti.![]()
Premetto che non so se è più corretto inserire questo post in "XMS XSL, Smil" o in "JavaScript".
Veniemo al dunque: da un file xml genero tramite un file xslt una pagina html facendo fare la trasformazione direttamente a firefox.
All'interno della pagina html generata devo inserire un javascript al quale viene passata una stringa che rapprensenta una data, calcola la differenza tra due date, e scrive sulla pagina io risultato.
Il javascript che contiene la funzione che si occupare delle operazioni sulla stringa si trova sul file "time.js" il quale viene incluso nella pagina html tramite il seguente codice contenuto nel file xslt:
la funzione "time.js" viene successivamente "richiamata" nel seguente modo (questa porzione di codice è contenuta all'interno dell'xslt di trasformazione):codice:<head> <title>Annotazioni</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="time.js"></script> </head>
Il problema è che quando viene caricato all'inetrno di firefox il file xml al quale è associato il file xslt di trasformazione mi ritrovo con una pagina bianca dovè c'è scritto solo "CIAO", mentre se elimino la chiamata alla funzione time() tutto funziona normalmente.codice:<script> time("CIAO"); </script>![]()
Per il momento la funzione time, che riporto di seguito, si occupata solamente di ripetere in uscita la strringa passatale come ingresso.
Grazie per ul Vostro aiuto!!!codice:function time(text) { var before="Year 3000!" var current="Today is Year 3000!" var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") theyear=2000; themonth=1; theday=1; thehour=18; theminute=24; thesecond=30; var today=new Date() var todayy=today.getYear() if (todayy < 1000) todayy+=1900 var todaym=today.getMonth() var todayd=today.getDate() var todayh=today.getHours() var todaymin=today.getMinutes() var todaysec=today.getSeconds() var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec futurestring=montharray[themonth-1]+" "+theday+", "+theyear+" "+thehour+":"+theminute+":"+thesecond dd=Date.parse(futurestring)-Date.parse(todaystring) dday=Math.floor(dd/(60*60*1000*24)*1) dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1) dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1) document.write(text); }![]()

Rispondi quotando
; la cosa che mi stranizza è perchè prima firefox esegue questo codice javascript e poi tralascia tutto il resto (nel caso di document.write, mentre se metto un alert, prima fa vedere l'alert e poi carica correttamente la pagina).
