Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Refresh in html, ma senza interruzione

    Buongiorno a tutti,

    premetto che sono programmatore in C e Visual Basic, ma in HTML ho fatto ben poco.
    Mi trovo a sviluppare un applicativo per una scheda che consente di visualizzare una semplice pagina html con il contenuto dei dati rilevati da apparecchiature elettroniche.

    La pagina html deve consentire il refresh automatico dei dati.
    Questo l'ho fatto utilizzando il metatag refresh e funziona correttamente.
    Accade però un fastidioso effetto di sparizione e riapparizione della pagina che sto cercando di evitare.

    Qualcuno è in grado di darmi qualche dritta per fare in modo che ciò non accada ? Magari con una funzione Javascript ?

    Grazie per l'attenzione.

    Alex

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Ciao Alex, benvenuto sul forum.

    Il tag refresh è correto: ricarica la pagina. Per cui l'effetto "sparizione-apparizione" credo sia inevitabile...

    L'altenativa potrebbe essere ricaricare solo i dati e non tutta la pagina...

    puoi dirci come hai costruito il documento?

    Anche il link a questo va bene.

  3. #3
    ho scritto il documento direttamente in html con Ultraedit.
    Il link non posso inviartelo perchè la pagina non è attualmente accessibile.
    Ti riporto il codice qui sotto :

    <HTML>
    <HEAD><TITLE>Telesegnali</TITLE>
    <meta http-equiv="refresh" content="2">
    </HEAD>
    <BODY>

    <body bgcolor="#CCFFFF">

    <table align=center bgcolor=#F0F8FF border=4 cellpadding=2>
    <tr><td align=center colspan=3>Ingressi TELESEGNALI</td></tr>

    <tr>
    <td align=right>1</td> <td> Rete in tolleranza </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>2</td> <td> Gruppo in moto </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>3</td> <td> Riserva combustibile serbatoio </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>4</td> <td> Riserva combustibile cisterna </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>5</td> <td> Gruppo in allarme </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>6</td> <td> Gruppo in blocco </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    <tr>
    <td align=right>7</td> <td> Interruttore aperto </td>
    <td> <table >
    <tr><td width=12 height=6></td></tr>
    </table>
    </td>
    </tr>

    </table>

    </BODY>
    </HTML>



    Questa pagina è molto semplice e l'effetto si nota poco, ma ho altre pagine con più tabelle dove l'effetto si nota molto di più.
    Non esiste un comando o una funzione che consente di visualizzare la pagina solo quando ha terminato il caricamento ?
    grazie per la gentile collaborazione.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Senti ma.... dove va pubblicata questa pagina?
    Chi sono gli utenti?

    Perché credo possa essere opportuno utilizzare gli iframe a aggiornare quelli...


    Prima di mettere mano al codice vediamo di capire le tue necessità.

  5. #5
    Questa pagina html non viene pubblicata, non risiede su un PC.
    E' stata creata una scheda Gateway di interfaccia tra uno dei nostri dispositivi ed il mondo esterno.
    Questa scheda consente di connettersi ad internet e gestire una o più è pagine html come se fosse un web server.
    Avrà un indirizzo IP fisso.
    Lo scopo è quello di poter visualizzare i dati del dispositivo da qualsiasi PC connesso in internet, ovviamente conoscendo a priori l'indirizzo IP, nome utente e password per l'accesso.
    Scusa ma purtroppo non posso darti più informazioni di così, ma spero che tu abbia compreso il mio problema.
    Non conosco gli iframe.
    Sai come possono essere utilizzati nel mio caso o conosci qualche link utile ?

    Se qualcun'altro ha informazioni in merito mi sarebbe di grande aiuto.

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Vista la situazione credo proprio sia il caso di utilizzarli: gli utenti sono "particolari".

    Veniano alla tua pagina: questa è la mia proposta, poi decidi se ti va bene o meno... nel caso cercheremo altre soluzioni.

    codice:
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Pagina Raccolta DATI</title>
    </head>
    
    <body>
    
    
    
    <iframe name="I1" src="Pagina_dati_1.htm">
    Il browser in uso non supporta frame non ancorati oppure è configurato in modo che i frame non ancorati non siano visualizzati.
    </iframe></p>
    
    
    <iframe name="I2" src="Pagina_dati_2.htm">
    Il browser in uso non supporta frame non ancorati oppure è configurato in modo che i frame non ancorati non siano visualizzati.
    </iframe></p>
    
    
    <iframe name="I3" src="Pagina_dati_3.htm">
    Il browser in uso non supporta frame non ancorati oppure è configurato in modo che i frame non ancorati non siano visualizzati.
    </iframe></p>
    
    </body>
    
    </html>
    Ovviamente dovrai inserire in refresh in ogno singola "pagina dati".

    Dimmi se ti piace.

  7. #7
    Complimenti per la rapidità della risposta.
    Ho analizzato il codice che mi hai inviato e non sono sicuro di aver ben compreso come funziona.

    Forse è il caso che mi addentro nel discorso ... di modo che tu mi possa indicare se questa strada è la migliore ...

    Informazioni aggiuntive :
    1. Ho molto poco spazio a disposizione per la pagina html : circa 8 Kbyte !
    2. Sarebbe meglio riuscire a farci stare tutto cio' che mi serve in una sola pagina html, ed ora ti spiego il perchè:
    3. Ho gia' una struttura a frame : ho creato un frame di intestazione, un frame di menu' e quello contenente i dati.
    4. In totale ho 3 pagine dati consultabili (selezionabili dal frame a menu').
    5. Due sono fisse e non modificabili, una di queste pagine è configurabile ed ho creato la possibilità di aggiornarla tramite un ns. programmino VB via UDP. Questa è la pagina più importante che posso aggiornare anche in base al dispositivo connesso alla scheda gateway. Questa è la pagina che ti ho inviato.
    6. Questa pagina è quella su cui dobbiamo lavorare e che aggiorna i dati rilevati dalla macchina.
    Questa è la pagina (è sempre e solo lei) che deve stare dentro gli 8 Kbyte!


    Domande:
    1. Si possono utilizzare gli iframe in una pagina caricata con un frame ? Non crea Problemi ?
    2. Cosa conterrà pagina_dati_1.html ?
    3. La mia pagina html diventano 4 pagine ? cioe' ogni pagina_dati_x.html contiene un dato ?

    Grazie ancora ... e buon pomeriggio.
    Alex

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Hai proprio intenzione di farmi lavorare.... !!!

    1. Ho molto poco spazio a disposizione per la pagina html : circa 8 Kbyte !
    Davvero pochi: ma visti i contenuti (di cui dopo) non dovrebbero esserci problemi...

    3. Ho gia' una struttura a frame : ho creato un frame di intestazione, un frame di menu' e quello contenente i dati.
    No problem!

    4. In totale ho 3 pagine dati consultabili (selezionabili dal frame a menu').
    Ok...

    5. Due sono fisse e non modificabili, una di queste pagine è configurabile ed ho creato la possibilità di aggiornarla tramite un ns. programmino VB via UDP. Questa è la pagina più importante che posso aggiornare anche in base al dispositivo connesso alla scheda gateway. Questa è la pagina che ti ho inviato.
    Avanti così piano...

    6. Questa pagina è quella su cui dobbiamo lavorare e che aggiorna i dati rilevati dalla macchina.
    Questa è la pagina (è sempre e solo lei) che deve stare dentro gli 8 Kbyte!

    Bene così.

    Domande:
    1. Si possono utilizzare gli iframe in una pagina caricata con un frame ? Non crea Problemi ?

    Nessun problema: il frame in questione diventa fatto da una pagina + pagine "incluse"...

    2. Cosa conterrà pagina_dati_1.html ?
    Quello che pare a te: è solo una pagina, ci metti la tabella che ti interessa.

    3. La mia pagina html diventano 4 pagine ? cioe' ogni pagina_dati_x.html contiene un dato ?
    Esatto: nel tuo caso una_pagina/una_tabella


    Ma la chiave del problema credo stia nel punto 5:
    Due sono fisse e non modificabili, una di queste pagine è aggiornabile
    Quindi ti basta mettere il refresh solo nella pagina in questione: questa che raccoglie i dati che si aggiornano.


    Tutto chiaro? Dimmi se hai dubbi.

  9. #9
    Vediamo se ho capito bene :

    1. Sei veramente un gran bravo ragazzo !
    2. Posso spezzare la mia pagina html in più pagine a piacimento inserendo una tabella più tabelle o volendo anche solo un dato in ogni iframe creato.
    3. La pagina html che viene richiamata da iframe è una normale pagina html. Quindi non mi conviene creare una pagina per mettere un solo dato perchè visto che nel mio caso ho più di 50 dati dovrei creare altrettante pagine html la qualcosa non mi consentirebbe di restare nello spazio a me disponibile.
    4. Penso che probabilmente, come mi hai giustamente indicato, mi convenga creare una pagina per ogni tabella e sperare che non mi accada più l'inconveniente: tieni presente che dovrò modificare la gestione che ho appena creato in C che mi gestisce una sola pagina html.

    Ho notato che il difetto di apparizione/ sparizione si accentua con l'aumentare del codice e del numero di tabelle inserite nella pagina. Ad esempio se utilizzo una sola tabella con 4 righe non si nota neanche, la tabella è bella ferma e non se move. Se inserisco 2 tabelle comincia a vedersi di più (accade che la prima tabella sembra fissa e la seconda scomapre per poi riapparire).
    Se inserisco più tabelle, oppure se ne inserisco anche una sola ma con più di 8-10 righe il difetto si inizia a notare parecchio.
    Non parliamo della pagina più estesa dove ho 7 tabelle, di cui una di 16 righe.

    Dopo questa lunga affermazione posso dire che il problema sta nel fatto che nel momento in cui inizia il caricamento della pagina il browser cancella la schermata ed inizia a costruire la pagina html che man mano sta ricevendo. Quindi più dati deve caricare e più il defetto si nota.
    In quest'ottica probabilmente la tua soluzione potrebbe funzionare perchè il refresh viene eseguito su una tabella per volta.
    Dovrò anche fare in modo di non avere tabelle superiori a 6 / 7 righe (dove mi e' possibile).

    Se hai altre indicazioni da darmi verrò a vedere più tardi cosa mi dici.

    Sarebbe bello poter mantenere tutto in una sola pagina.

    Grazie ancora e buona serata.
    Alex

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da alexmumble
    Vediamo se ho capito bene :
    1. Sei veramente un gran bravo ragazzo !
    Come hai fatto a capirlo?

    2. Posso spezzare la mia pagina html in più pagine a piacimento inserendo una tabella più tabelle o volendo anche solo un dato in ogni iframe creato.
    E...satto!

    3. La pagina html che viene richiamata da iframe è una normale pagina html. Quindi non mi conviene creare una pagina per mettere un solo dato perchè visto che nel mio caso ho più di 50 dati dovrei creare altrettante pagine html la qualcosa non mi consentirebbe di restare nello spazio a me disponibile.
    Sempre corretto!

    4. Penso che probabilmente, come mi hai giustamente indicato, mi convenga creare una pagina per ogni tabella e sperare che non mi accada più l'inconveniente: tieni presente che dovrò modificare la gestione che ho appena creato in C che mi gestisce una sola pagina html.
    Hai problemi per la creazione di tre pagine, al posto di una?
    così tieni i dati separati, che mi sembrava tu preferissi quando parlavi di
    Due sono fisse e non modificabili, una di queste pagine è aggiornabile
    ...ho capito male?

    Ho notato che il difetto di apparizione/ sparizione si accentua con l'aumentare del codice ......... [edit]
    In quest'ottica probabilmente la tua soluzione potrebbe funzionare perchè il refresh viene eseguito su una tabella per volta.

    Esatto: così non carichi la pagina di informazioni che ha già.

    Sarebbe bello poter mantenere tutto in una sola pagina.
    Comincio a fare confusione: prima dici che hai un menù per accedere alle tre tabelle singolarmente.
    Vuoi cambiare la visione d'insieme? Ovvero mantenere fisse le tabelle che non si aggiornano e contemporaneamente aggiornare la tabella incriminata?

    Allora, nel frame/pagina che contiene tutte le tabelle, inserisci come iframe solo la tabellaccia:

    codice:
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Pagina Raccolta DATI con iframe che aggiorna i dati</title>
    </head>
    
    <body>
    
    <table border="1" width="556" height="34">
    	<tr>
    		<td height="16" width="251" colspan="2">prima tabella non aggiornata</td>
    		<td height="16" width="151"></td>
    		<td height="16" width="126"></td>
    	</tr>
    	<tr>
    		<td height="9" width="133"></td>
    		<td height="9" width="118"></td>
    		<td height="9" width="151"></td>
    		<td height="17" width="126"></td>
    	</tr>
    	<tr>
    		<td height="2" width="133"></td>
    		<td height="2" width="118"></td>
    		<td height="2" width="151"></td>
    		<td height="17" width="126"></td>
    	</tr>
    </table>
    
    
    </p>
    <table border="1" width="556" height="34" id="table1">
    	<tr>
    		<td height="16" width="251" colspan="2">seconda tabella non aggiornata</td>
    		<td height="16" width="151"></td>
    		<td height="16" width="126"></td>
    	</tr>
    	<tr>
    		<td height="9" width="133"></td>
    		<td height="9" width="118"></td>
    		<td height="9" width="151"></td>
    		<td height="17" width="126"></td>
    	</tr>
    	<tr>
    		<td height="2" width="133"></td>
    		<td height="2" width="118"></td>
    		<td height="2" width="151"></td>
    		<td height="17" width="126"></td>
    	</tr>
    </table>
    
    
    <iframe name="I1" src="Pagina_dati_aggiornati.htm">
    Il browser in uso non supporta frame non ancorati oppure è configurato in modo che i frame non ancorati non siano visualizzati.
    </iframe></p>
    
    
    in questo iframe richiami la pagina (con refresh incluso) che contiene la 
    tabella dei dati in aggiornamento</p>
    
    </body>
    
    </html>
    O mi è sfuggito qualcosa?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.