|
|||||||
|
|
|
![]() |
|
|
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:
Non mi è chiaro cosa intendi dire ... spiegati meglio.
__________________
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: 08:18.











Non mi è chiaro cosa intendi dire ... spiegati meglio.








