Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-12-2005, 11:47   #1
matthew85
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?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2005, 13:41   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
Ciao a tutti,

qualcuno mi potrebbe spiegare come fuziona la funzione di Javascript innerHTML?
Ciao, intanto innerHTML non è una funzione di Javascript ma una proprietà di un elemento html a livello del DOM (Document Object Model).
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>
Aprilo con Internet Explorer e clicca sul link INSERISCI. Verrà inserito del codice html nel blocco div.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 09:48   #3
matthew85
Senior Member
 
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
Perfetto.

Ma me lo puoi spiegare meglio?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 11:14   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
Perfetto.

Ma me lo puoi spiegare meglio?
Certo.
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>
Ma naturalmente si possono fare cose anche molto più complesse.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 13:07   #5
matthew85
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";
me lo potresti spiegare, perché ho provato a fare questo codice ma non mi uscivano le immagini.
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 16:03   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
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";
me lo potresti spiegare, perché ho provato a fare questo codice ma non mi uscivano le immagini.
getElementById è un metodo dell'oggetto document. Il suo scopo è quello di cercare ed ottenere un riferimento al primo oggetto che ha il ID specificato. Puoi quindi pensarlo come:

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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 16:53   #7
matthew85
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>
?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2005, 17:23   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
E invece su questa stringa di codice:

Codice HTML:
<a href="#" onclick="inserisci(); return false">INSERISCI</a>
?
Questo link viene gestito con Javascript. Quindi il suo href è ininfluente. In genere lo si mette a "#" per indicare la pagina stessa (nel caso in cui eventualmente Javascript non fosse disponibile/abilitato).
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>
Quando ci clicchi sopra vedrai che immediatamente viene inserito il testo ma poi, poco dopo, viene caricata la pagina di google.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2005, 14:01   #9
matthew85
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.
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 08:36   #10
matthew85
Senior Member
 
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
con innerHTML puoi anche mettere filmati video?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 10:16   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
con innerHTML puoi anche mettere filmati video?
Certo, innerHTML permette di inserire dentro un tag tutto quello che si vuole, quindi anche, ad esempio, un tag <object>, una applet o altro.
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 10:32   #12
matthew85
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>
dove devo mettere la seconda parte del codice?

Cioè io faccio lo script dell'immagine e poi metto quello del video come devo fare?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 10:59   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
Un'altra curiosità se io ho già inserito del codice, in questo caso Javascript, cioè in così:

Codice HTML:
<script language="Javascript"></script>
dove devo mettere la seconda parte del codice?

Cioè io faccio lo script dell'immagine e poi metto quello del video come devo fare?
Non mi è chiaro cosa intendi dire ... spiegati meglio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 11:10   #14
matthew85
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?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 11:35   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
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?
ah in quel senso.
Beh, si può fare in diversi modi. Intanto il blocco:
Codice:
<script type="text/javascript">
</script>
lo puoi mettere più volte dentro la pagina HTML. Non è che devi metterne per forza solo 1.
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 12:01   #16
matthew85
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?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 12:03   #17
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
<head>
<script type="text/javascript" src="file1.js"></script>
</head>

giusto?
Esatto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 14:07   #18
matthew85
Senior Member
 
Iscritto dal: Sep 2005
Città: Como
Messaggi: 447
Ma i file Javascript dove devono essere inseriti?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2006, 14:14   #19
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da matthew85
Ma i file Javascript dove devono essere inseriti?
Dove vuoi.
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 08:38   #20
matthew85
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?
matthew85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
Nostalgico, ma moderno: il nuovo THEC64 ...
AVM avvia la distribuzione di FRITZ! OS ...
Super offerte Bose: le QuietComfort a me...
Epic vince (ancora) contro Google: Andro...
Sconti nuovi di zecca su Amazon: 27 arti...
Un'esplorazione del 'lato oscuro' di Fac...
Apple ha venduto 3 miliardi di iPhone da...
Grandi sconti oggi sugli spazzolini elet...
Reddit sfida Google: vuole diventare il ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v