Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1

    [piero06's pillola 2] I frame e gli iframe

    Ciao,

    in questa pillola cercherò di di definire ( potete trovare le spiegazioni compete su html.it ) in grandi linee che cosa sia un "frame", un "iframe" e un "frameset" siccome
    ho notato che più volte sul forum ci sono discussioni inerenti proprio alle differenze tra quest'ultimi e
    sul loro utilizzo. Oltre a definire questi elementi che possono comporre una pagina web , inerisco alcune
    utlity e suggerimenti per migliorarne l'utilizzo.

    Iframe

    Gli iframe sono degli elenti che vengono inseriti in una pagina web creando come una sub-pagina nella pagina
    principale nella quale sono inseriti. Gli iframe sono molte volte utilizzati come "location" per lo scorrere
    delle pagine web di un sito per avere il menù, il tiolo o qualche altro componente della pagina presente in
    ogni pagina dal fatto che le pagine "appaiono" nell'iframe .
    Questo non è comunque l'unico utilizzo degli stessi ma uno dei tanti.

    Compatibilità : con tutti i browser trantte Netscape Navigator 4 ma orami sta scomparendo come browser

    Passiamo ora alla struttura e creazione di essi :

    - i tag che ne caratterizzano la creazione e li delimitano sono <iframe> e </iframe>
    - per indicare la pagina che deve apparire nel iframe bisogna aggiungere :
    codice:
    <iframe src="pagina_contenuta_nell'_iframe></iframe>
    - per stabilire il nome dell'ifame la comosizione di esso è :
    codice:
    <iframe src="pagina_contenuta_nell'_iframe name="iframe"></iframe>
    - per stabilire le dimensioni dell'iframe in altezza e largeìhezza come sempre :
    codice:
    <iframe src="pagina_contenuta_nell'_iframe name="iframe" width="100px" height="100px"></iframe>
    - per stabilirne lo scrolling, ovvero se permettere lo scrolling all'iframe bisogna aggiungere :
    codice:
    scrolling="no" // se non si vuole permettere lo scrolling dell'iframe
    scrolling="yes" // se si vuole che la scrollbar appaia sempre in ogni caso 
    scrolling="auto" // se si vuole che la barra appaia solo quando necessario
    - per sabilirne i bordi :
    codice:
    frameborder="0" // nessun bordo al iframe
    frameborder="1px" // l'iframe ha un bordo di un pixel
    - per sabilire lo spazio dal top e dal bottom:
    codice:
    hspace="0" vspace="0" // impostate a 0
    Questa è la struttura fondamentale per "costruire " un iframe nel proprio sito, ma l'utilizzo è a libero arbitrio
    del webmaster a seconda delle sue esigenze e capacità

    N.B.
    Perchè una pagina appaia nel iframe :
    codice:
    <iframe src="pagina_contenuta_nell'_iframe name="iframe" width="100px" height="100px"></iframe>
    bisogn ricordarsi di mettere nei link per le pagine che devono apparire in esso il target con il nome dell'iframe
    e quindi in questo caso specifico così :

    Dopo aver spiegato cosa sono in generale gli iframe farò degli esempi sul loro utlizzo pratico e su vari
    "trucchetti " per il loro utilizzo nella pagina web presi da varie fonti

    Un iframe al centro di una tabella

    codice:
      
    <table border="1" width="100%">
      <tr>
        <td width="33%"></td>
        <td width="33%"></td>
        <td width="34%"></td>
      </tr>
      <tr>
        <td width="33%"></td>
        <td width="33%">
        <iframe src="pagina_contenuta_nell'_iframe name="iframe" width="100%" height="100%"></iframe>
        </td>
        <td width="34%"></td>
      </tr>
      <tr>
        <td width="33%"></td>
        <td width="33%"></td>
        <td width="34%"></td>
      </tr>
    </table>
    Ricaricare automaticamente un iframe

    tra <head> e </head> della pagina contenente l'iframe
    codice:
    <script> 
    function aggiorna (){ 
    parent.nomeiframe.location.reload(); 
    
    } 
    setTimeout (aggiorna(),3000); 
    
    </script>
    e nel <body>
    codice:
    <body onLoad="aggiorna()">
    Ricaricare l'iframe e la pgina che lo contiene

    tra <head> e </head> della pagina contenete l'iframe
    codice:
    <script> 
    function aggiorna (){ 
    parent.nomeframe.location.reload(); 
    location.reload(); 
    } 
    setTimeout (aggiorna(),3000); 
    
    </script>
    e nel <body>
    codice:
    <body onLoad="aggiorna()">
    e ci sono poi altre varie utility da applicare agli iframe che per brevità posterò in futuri aggiornamenti della
    pillola e mano a mano che troverò o farò !



    I Frame e i Frameset

    I frame sono un elemento di una pagina web che solo usati all'interno di un frameset.
    Cos'è però un frameset ?
    Un frameset è come la diviione di una pagina in più reparti contenenti pagine e documenti diversi; è come la
    suddivisione di una pagina in altre sue pagine più piccole che sono "ferme" sulla pagina. I frameset sono
    molte volte utlizzati per avere in ogni pagina o il menù o il titolo del sito per comodità sia della navigazione
    che della costruzione di esso. Infatti come accade con l'iframe i fari frame che compongono il frameset sono
    elementi a se che sono uniti in una pagina e un di essi può cambiare contenuto e gli altri rimangono "fermi"
    come fissi sulla pagina. Un framset può essere immaginato come quando ad esempio sul nostro pc facciamo:
    start >> cerca >> e ci appare una finestra suddivisa in due :
    in una parte a sinistra dove c'è l'input text ove inserire la parola da cercare , e la parte di destra dove
    scorre il contenuto e i risultati della ricerca.

    Passiamo ora alla costruzione di un frameset:

    la struttura più semlpice di un framset è la pagina divisa in due orrizontalmente e si forma così :
    codice:
    <html>
    
    <head>
    <title>Pagina con frame 1</title>
    </head>
    
    <frameset rows="*,*">
      <frame name="superiore" src="Nuova_pagina_1.htm">
      <frame name="inferiore" src="Nuova_pagina_2.htm">
      </frameset>
    
    </html>
    come si vede dal codice il frameset viene "delimitato" da : <frameset> e </frameset>
    - rows="*,*" idica la dimensioni dell'frame
    - i frame si "delimitano" a loro volta da : <frame> e </frame>
    - Ogni frame che compone il frameset si costituisce così :
    codice:
    <frame name="superiore" src="Nuova_pagina_6.htm">
    dove "name" è il nome, scr="" è il percorso per il contenuto o la pagina del frame

    Per perfezionare il codice bisogna inserire una frase per avvertire un utente che non ha la possibilità o la
    compatibilità per vedere il frema. A tal proposito si inserisce un tag <noframes> che contiene ciò verrà visulizzato
    caso non si vedesse il frameset. Il codice completo è :

    codice:
    <noframes>
      <body>
    
      
    
    La pagina corrente utilizza i frame. Questa caratteristica non è
      supportata dal browser in uso.</p>
    
      </body>
      </noframes>
    dove <noframes> e </noframes> delimitano il contenuto della visulaizzazione , <body> contiene il corpo del messaggio
    che verrà mostrato all'utente e poi chiuso </body>.

    Vediamo ora un frameset che divide la pagina in vericale :

    codice:
    <html>
    
    <head>
    
    <title>Nuova pagina 8</title>
    
    </head>
    
    <frameset cols="26%,*">
      <frame name="sinistra" src="Nuova_pagina_10.htm">
      <frame name="destra" src="Nuova_pagina_9.htm">
      <noframes>
      <body>
    
      
    
    La pagina corrente utilizza i frame. Questa caratteristica non è
      supportata dal browser in uso.</p>
    
      </body>
      </noframes>
    </frameset>
    
    </html>
    Le vare parti del codice sono uguali a quello di prima cambia solo la posizione dei singoli frame .

    Proprietà

    Per personalizzare un frameset si possono cambiare i colori di sfondo , dei bordi , se permettere o no lo scrolling ...

    cambiare il bordo

    Per cambiare il colore e le dimensioni del brodo di un frame singolo bisogna inserire nel frameset nel frame che
    si vuola uno style css :
    codice:
    style="border-left: 1 solid #00FFFF; // bordo sinistro ( spessore - tipo - colore )
    border-right: 1 solid #800080; // bordo destro ( spessore - tipo - colore )
    border-top: 1 solid #C0C0C0; // brodo in alto ( spessore - tipo - colore )
    border-bottom: 1 solid #00FF00" // bordo basso ( spessore - tipo - colore )
    >
    Distanza e spazio tra due frame di un framset

    Bisogna aggiungere alla costruzione del frameset :
    codice:
    <frameset framespacing="0" border="0" cols="26%,*" frameborder="0">
    Dove framespacing è lo spazio tra i due frame e frameborder e il bordo dei due frames

    Permettere o no lo scrolling

    Nel singolo frame che compone il frameset inerire :
    codice:
    scrolling="no" // se non si vuole permettere lo scrolling dell'iframe
    scrolling="yes" // se si vuole che la scrollbar appaia sempre in ogni caso 
    scrolling="auto" // se si vuole che la barra appaia solo quando necessario


    ecc... con le personalizzazioni

    N.B.
    Perchè un link di un frame venga visulazizzato in una latro frame del frameset bisogna fare nei link :
    codice:
     link 

    Trucchetti

    Una scollbar per due frame :

    tra <head> e </head> di uno sei un frame
    codice:
    <script langauge="JavaScript">
    var var_down = 0;
    function syn()
    {
     if(navigator.appName == "Netscape") {
     down = window.pageYOffset}
     else{
     down = document.body.scrollTop;}
     if(down != var_down)
     {
      parent.nomealtroframe.scrollTo(0,down);
      var_down = down
     }
    }
    
    setInterval("syn()",10);
    </script>
    Aprire due frame con un solo click : (by html.it )

    tra <head>
    codice:
    <SCRIPT>
    <!--
    function twoinone(nr){
    	if (nr==1){
    		parent.framealto.location.href="centrale.htm"
    		parent.framecentrale.location.href="alto.htm"
    	}
    	if (nr==2){
    		parent.framealto.location.href="alto.htm"
    		parent.framecentrale.location.href="centrale.htm"
    	}
    
    }
    //-->
    </SCRIPT>
    e nei link :

    Ricaricare automaticamente due frame :

    tra <head>
    codice:
    <script> 
    function aggiorna (){ 
    parent.nomeframe.location.reload(); 
    location.reload(); 
    } 
    setTimeout (aggiorna(),3000); 
    
    </script>
    e nel body
    codice:
    <body onload="aggiorna()">

    Ecco, queste sono le utlity sui frame che ho trovato e fatto per il momento ma ne arriveranno tante altre con i
    vari aggiornamenti che farò!

    ACCETTO CRITICHE E COMMENTI !

    ciao e alla prossima






  2. #2
    Utente di HTML.it L'avatar di eiko
    Registrato dal
    Mar 2003
    Messaggi
    50
    ci sto uscendo pazza: iframe con scroll solo verticale:

    codice:
    body{margin:0px 0px 0px 0px;font-family:verdana;overflow-x:hidden;overflow-y:auto}

    e non funziona!
    ..::EiK0 ::..

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    mi sembra buono come linea generale... una bella ricerchina

    bravo


    PS: nellla definizione delle misure del frameset, l'asterisco (*), sta ad indicare "Tutto il resto", esempio

    se metto

    20%,*


    un frame avrà la larghezza del 20 %, mentre l'altro tutto il resto, cioè 80 %




  4. #4
    Originariamente inviato da eiko
    ci sto uscendo pazza: iframe con scroll solo verticale:

    codice:
    body{margin:0px 0px 0px 0px;font-family:verdana;overflow-x:hidden;overflow-y:auto}

    e non funziona!
    Tu cosa vuoi ottenere, che ci sia solo la barra verticale?

  5. #5
    Originariamente inviato da Dennis
    mi sembra buono come linea generale... una bella ricerchina

    bravo


    PS: nellla definizione delle misure del frameset, l'asterisco (*), sta ad indicare "Tutto il resto", esempio

    se metto

    20%,*


    un frame avrà la larghezza del 20 %, mentre l'altro tutto il resto, cioè 80 %



    grazie !

    grazie anche della precisazione!


  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da eiko
    ci sto uscendo pazza: iframe con scroll solo verticale:

    codice:
    body{margin:0px 0px 0px 0px;font-family:verdana;overflow-x:hidden;overflow-y:auto}

    e non funziona!
    come non va???


    pagina principale:
    <iframe src="test2.htm"></iframe>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    iframe (test2.htm)
    <style>

    body{margin:0px 0px 0px 0px;font-family:verdana;overflow-x:hidden;overflow-y:auto}
    </style>



    fsdkngkngggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggjf dngjfdngjfdngjndj</p>






    a me funziona

  7. #7
    Utente di HTML.it L'avatar di eiko
    Registrato dal
    Mar 2003
    Messaggi
    50
    Originariamente inviato da piero06
    Tu cosa vuoi ottenere, che ci sia solo la barra verticale?
    Esatto... credo di avere scritto il codice corretto, no?

    ma non va.

    comunque... la pagina è nel link che ho nella firma... il sito che ti ho già fatto vedere.

    Guarda nel pezzettino dell'iframe, e *e qui m'inginocchio* qualcuno mi dica dove sbaglio.
    ..::EiK0 ::..

  8. #8
    Utente di HTML.it L'avatar di eiko
    Registrato dal
    Mar 2003
    Messaggi
    50
    Originariamente inviato da Dennis
    come non va???


    pagina principale:
    <iframe src="test2.htm"></iframe>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    ave</p>


    iframe (test2.htm)
    <style>

    body{margin:0px 0px 0px 0px;font-family:verdana;overflow-x:hidden;overflow-y:auto}
    </style>



    fsdkngkngggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggjf dngjfdngjfdngjndj</p>






    a me funziona
    infatti... va bene che sono arrugginita, dopo un po' che non spicchietto...

    però... non va. :master:

    il bello che alcuni non vedono la barra, io sì, e anche qualche mio amico.
    ..::EiK0 ::..

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da eiko
    infatti... va bene che sono arrugginita, dopo un po' che non spicchietto...

    però... non va. :master:

    il bello che alcuni non vedono la barra, io sì, e anche qualche mio amico.
    ah... quando qualcosa non va sapendo che è giusto il problema sta al livello superiore... DOCTYPE

    elimina la primissima riga della pagina blogger.htm

  10. #10
    Utente di HTML.it L'avatar di eiko
    Registrato dal
    Mar 2003
    Messaggi
    50
    :mavieni: wow!

    grazie! :adhone:

    mi hai risolto due problemi due nel giro di pochi minuti....

    chiedo scusa a piero, gli ho svaccato la pillola, ma giuro che pensavo fosse nell'iframe, il problema...
    ..::EiK0 ::..

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.