Autore Topic: Problemi con codice javascript di un orologio  (Letto 6120 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline foread

  • Post: 2
    • http://www.docks51.net
Problemi con codice javascript di un orologio
« il: 10 Gennaio 2005 15:54:13 »
ciao,
qualche tempo fa ho aggiunto alla mia home page alcuni elementi javascript. a quel tempo testavo solo con Explorer (6.0) e la pagina mi appariva come volevo io.
ho installato Firefox ed ora lo uso come browser predefinito. vorrei quindi riuscire a ottimizzare i miei lavori per una corretta visualizzazione con quest'ultimo browser, ma ho grossi problemi con lo script che mi gestisce data e ora (metto in copia il blocco di codice javascript utilizzato). il problema è molto semplice: lo script non viene eseguito e nella pagina data e ora non compaiono!
vorrei sapere anche quale versione di javascript viene supportata da Firefox (mi sembra di aver capito sia la 1.5) e se posso trovare da qualche parte un manuale di javascript Firefox-compatibile.

grazie,
foread

Codice: [Seleziona]

<html>
<head>

<script language="JavaScript">
<!--
function show5(){
 if (!document.layers&&!document.all)
 return
 var Digital=new Date()
 var hours=Digital.getHours()
 var minutes=Digital.getMinutes()
 var seconds=Digital.getSeconds()
 var date=Digital.getDate()
 var day=Digital.getDay()
 var month=Digital.getMonth()
 var year=Digital.getYear()
 var cont = 0;
 
 for (var cont = 0 ; cont < 12 ; cont++){  
 if (month==0){
 month="gennaio"
 }
 else if (month==1){
 month="febbraio"
 }
 else if (month==2){
 month="marzo"
 }
 else if (month==3){
 month="aprile"
 }
 else if (month==4){
 month="maggio"
 }
 else if (month==5){
 month="giugno"
 }
 else if (month==6){
 month="luglio"
 }
 else if (month==7){
 month="agosto"
 }
 else if (month==8){
 month="settembre"
 }
 else if (month==9){
 month="ottobre"
 }
 else if (month==10){
 month="novembre"
 }
 else if (month==11){
 month="dicembre"
 }
 }
 if (day==1)
 day="lunedì"
 if (day==2)
 day="martedì"
 if (day==3)
 day="mercoledì"
 if (day==4)
 day="giovedì"
 if (day==5)
 day="venerdì"
 if (day==6)
 day="sabato"
 if (day==0)
 day="domenica"
 
if (hours<=9)
 hours="0"+hours
 if (minutes<=9)
 minutes="0"+minutes
 if (seconds<=9)
 seconds="0"+seconds
 
//change font size here to your desire
myclock="<font size='1' face='Arial' align='right'><b>"+day+",<br>"+date+"&nbsp;"+month+"&nbsp;"+year+"</b><font size='4'><br>"+hours+":"+minutes+":"
 +seconds+"</font></font>"
if (document.layers){
document.getElementById.liveclock.document.write(myclock)
document.getElementById.liveclock.document.close()
}
else if (document.all)
liveclock.innerHTML=myclock
setTimeout("show5()",1000)
 }
//-->
</script>

</head>

<body bgcolor="#FFCC66" text="#000000" link="#000000" vlink="#000000" alink="#000000" scroll="auto" onLoad="show5()">

<span id="liveclock" style="position:absolute; left:50px; top:344px; width:919px; height:19px; z-index:24">

</span>

</body>
</html>

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: Problemi con codice javascript di un orologio
« Risposta #1 il: 10 Gennaio 2005 17:08:01 »
Citazione da: foread

 if (!document.layers&&!document.all)


Il problema è qui: Mozilla/Firefox non usa nessuno dei due, usa invece document.getElementById.
Devi quindi cambiare questa riga e più in fondo

Citazione

if (document.layers){
document.getElementById.liveclock.document.write(myclock)
document.getElementById.liveclock.document.close()
}
else if (document.all)
liveclock.innerHTML=myclock
setTimeout("show5()",1000)
}


aggiungere una sezione "else if (document.getElementById) {" eccetera eccetera.
Un consiglio: quando devi sviluppare codice js, usa la funzione Strumenti --> Console Javascript in cui trovi spiegati gli eventuali errori.
Altro consiglio: metti getFullYear al posto di getYear.
HTH, Paolo

Offline iacchi

  • Amministratore
  • Post: 6372
    • iacchiblog
Problemi con codice javascript di un orologio
« Risposta #2 il: 10 Gennaio 2005 17:58:58 »
Ho spostato il topic nella sezione più adatta.

Se vuoi proprio far andare questo codice, ok. Altrimenti, se semplicemente ti serve un orologio in javascript ti consiglio di dare un occhio ai javascript che si trovano sul sito di html.it, che hanno una spiegazione sempre molto dettagliata e di solito sono compatibili con tutti i browser.

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Problemi con codice javascript di un orologio
« Risposta #3 il: 10 Gennaio 2005 18:08:30 »
Nota: usate il tag CODE quando inserite html per evitare di interferire con il layout del forum

Offline foread

  • Post: 2
    • http://www.docks51.net
Problemi con codice javascript di un orologio
« Risposta #4 il: 11 Gennaio 2005 09:23:51 »
grazie!!
ho apportato le correzzioni che mi avete segnalato ed ora è tutto a posto! funziona perfettamente. già che ci sono ne approfitto per chiedere un ulteriore delucidazione:
mi ero scaricato un pezzettino di codice da inserire nel blocco head per modificare i colori delle scroll delle finestre. anche questo è solo Explorer compatibile e con Netscape o Firefox non da alcun risultato.
c'è la possibilità di modificare la colorazione delle scroll del browser con Firefox?
grazie ancora
foread

ps: la prossima volta non mancherò di racchiudere eventuale codice dentro il tag CODE!

Offline lucasali

  • Moderatore
  • Post: 7493
Problemi con codice javascript di un orologio
« Risposta #5 il: 11 Gennaio 2005 09:48:59 »
il cambio di colore delle scroll non è uno standard ma una funzione implementata solo in IE
http://forum.mozillaitalia.org/viewtopic.php?t=5301
http://forum.mozillaitalia.org/viewtopic.php?t=3550

ciao. Luca

0 Utenti e 1 Visitatore stanno visualizzando questo topic.