|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
innerHTML Javascript
Ciao a tutti,
qualcuno mi potrebbe spiegare come fuziona la funzione di Javascript innerHTML? |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Prova il seguente file html: Codice:
<html> <head> <title>Prova innerHTML</title> <script type="text/javascript"> <!-- function inserisci () { document.getElementById("prova_div").innerHTML = "<font color=\"red\">Ciao</font>, testo inserito nel <b>DIV</b> con innerHTML"; } //--> </script> </head> <body> <div id="prova_div"></div> <a href="#" onclick="inserisci(); return false">INSERISCI</a> </body> </html>
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Perfetto.
Ma me lo puoi spiegare meglio? |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
A livello di scripting è disponibile quello che viene chiamato DOM (Document Object Model) cioè un modello ad oggetti che è una grossa gerarchia di oggetti manipolabile via scripting. In pratica il modello ad oggetti espone tutti gli elementi (tutti i tag che compongono la pagina più altri oggetti non visibili e non relativi ai tag) in modo che tramite le proprietà ed i metodi messi a disposizione dai vari oggetti sia (quasi) tutto alterabile e manipolabile dopo che la pagina è stata caricata dal browser. Questo è quello che si chiama DHTML o Dynamic HTML. innerHTML (come anche innerText) è una proprietà di ogni elemento della pagina che consente di leggerne e modificarne il contenuto. La proprietà è read/write per tutti gli elementi tranne che per alcuni oggetti per cui è read-only (ma non mi ricordo di preciso quali sono). Un esempio pratico di cosa si possa fare con il DHTML è il classico orologio che si aggiorna in tempo reale. Ecco il codice per un orologio minimale che ho buttato giù: Codice:
<html> <head> <title>Orologio</title> <script type="text/javascript"> <!-- var ore = -1; var min = -1; var sec = -1; function pad (val) { return val < 10 ? "0"+val : val; } function aggiorna () { var dt = new Date (); var new_ore = dt.getHours (); var new_min = dt.getMinutes (); var new_sec = dt.getSeconds (); if (new_ore != ore || new_min != min || new_sec != sec) { document.getElementById("orologio").innerHTML = pad (new_ore) + ":" + pad (new_min) + ":" + pad (new_sec); ore = new_ore; min = new_min; sec = new_sec; } window.setTimeout (aggiorna, 100); } //--> </script> <style type="text/css"> <!-- #orologio { font: bold 24px Arial,sans-serif; color: blue; } --> </style> </head> <body onload="aggiorna()"> <div id="orologio"></div> </body> </html>
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Quello che non riesco a capire come codice è questo:
Codice HTML:
document.getElementById("prova_div").innerHTML = "<font color=\"red\">Ciao</font>, testo inserito nel <b>DIV</b> con innerHTML"; |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
// Ottengo il riferimento all'oggetto var objdiv = document.getElementById("prova_div"); // Modifico la proprietà dell'oggetto objdiv.innerHTML = "....";
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
E invece su questa stringa di codice:
Codice HTML:
<a href="#" onclick="inserisci(); return false">INSERISCI</a> |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
onclick è l'evento che viene generato quando si fa il click sul link e, nota bene, è prioritario rispetto a href. Questo vuol dire che quando ci fai click la prima cosa che viene fatta è quella di eseguire il codice specificato per onclick (quindi chiamare inserisci() nel caso sopra). Il "return false" serve per evitare che l'evento "rimbalzi" e che il browser continui a fare quello che normalmente farebbe, cioè esaminare href e puntare a quel indirizzo. Per capire meglio: prova a cambiare la riga con Codice:
<a href="http://www.google.com" onclick="inserisci(); return true">INSERISCI</a>
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Ho capito, se ci saranno dei problemi vi manderò un altro messaggio per chiedervi delucidazioni.
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
con innerHTML puoi anche mettere filmati video?
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Esempio (un filmato dell'intervista ad una delle mie attrici preferite ![]() Nota: testato con IE. Codice:
<html> <head> <title>Intervista a Julia Stinshoff</title> <script type="text/javascript"> <!-- function start_filmato () { document.getElementById("div_filmato").innerHTML = "<object id=\"player\" type=\"video/x-ms-wmv\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701\" standby=\"Loading Microsoft Windows Media Player components...\">" + "<param name=\"FileName\" value=\"mms://wms.e-tv.de/tvtotal/2004/10/14/0621-00-04-wm_midband.wmv\">" + "<param name=\"ShowControls\" value=\"true\">" + "<param name=\"AutoStart\" value=\"true\">" + "<param name=\"AnimationAtStart\" value=\"true\">" + "<param name=\"ShowStatusBar\" value=\"true\">" + "<param name=\"ShowAudioControls\" value=\"true\">" + "<param name=\"ShowPositionControls\" value=\"true\">" + "<param name=\"ShowTracker\" value=\"false\">" + "<param name=\"ShowGotoBar\" value=\"false\">" + "<param name=\"ShowCaptioning\" value=\"false\">" + "<param name=\"ShowDisplay\" value=\"false\">" + "</object>"; } //--> </script> </head> <body> <a href="#" onclick="start_filmato(); return false">Intervista a Julia Stinshoff</a> <div id="div_filmato"></div> </body> </html>
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Un'altra curiosità se io ho già inserito del codice, in questo caso Javascript, cioè in così:
Codice HTML:
<script language="Javascript"></script> Cioè io faccio lo script dell'immagine e poi metto quello del video come devo fare? |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Nel senso che, facciamo un esempio, devo inserire il codice inerente all'orologio e nella stessa pagina HTML vorrei mettere il codice inerente all'immagine, come devo fare?
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() Beh, si può fare in diversi modi. Intanto il blocco: Codice:
<script type="text/javascript"> </script> Oppure puoi mettere tutto il codice Javascript dentro 1 solo blocco di script. Oppure ancora puoi mettere i codici di Javascript in file .js separati e linkarli nel file html con: Codice:
<script type="text/javascript" src="file1.js"></script> <script type="text/javascript" src="file2.js"></script> ecc...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Facendo quello che hai detto tu di metterli in file Javascript diversi dove li devo mettere, sopra?
Cioè così: <head> <script type="text/javascript" src="file1.js"></script> </head> giusto? |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Ma i file Javascript dove devono essere inseriti?
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() L'importante è che l'attributo src punti in modo giusto. Se metti src="file1.js" viene presupposta la presenza di file1.js nella stessa directory del file html. Puoi mettere anche path relativi o assoluti ("../file1.js" oppure "/prova/file1.js").
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
|
Mi sorge un altro dubbio, che è questo:
ho notato che nel codice che hai scritto dell'orologio e delle immagini hai dato degli invii per caso devo lasciarli oppure è un fattore di aiuto per il programmatore? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:26.