Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Dadoo
    Registrato dal
    Nov 2001
    Messaggi
    411

    impostare altezza automatica per un <iframe> in base alla pagina

    Ragazzi,
    ho un <iframe> nella mia pagina che ho impostato ad una determinata altezza
    <iframe width="100%" height="100%>

    in questo iframe mostro il contenuto HTML di una determinata pagina web
    (per la precisione, ho la possibilità nella mia applicazione, mediante un url del tipo "...indirizzo/Body?openelement" di mostrare il contenuto Body di una email)

    quindi ho
    <iframe src="...indirizzo/Body?openelement" width="100%" height="100%>

    succede che pero' non riesco a trovare l'altezza esatta dell'iframe .... e quindi mi viene mostrata la barra di scrolling verticale.

    esiste un modo per adattare l'altezza l'iframe in base alla pagina in esso contenuta ?

  2. #2
    Utente di HTML.it L'avatar di Dadoo
    Registrato dal
    Nov 2001
    Messaggi
    411
    niente proprio ? nessun ne sa nulla ?

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    prova con
    <iframe src="...indirizzo/Body?openelement" width="100%" height="this.contentDocument.offsetWidth">

    ma nn garantisco...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di Dadoo
    Registrato dal
    Nov 2001
    Messaggi
    411
    grazie per lo spunto, ho risolto cosi e funziona:


    codice:
    <iframe id="frm" src="...indirizzo/Body?openelement" width="100%" height="100%" frameborder="0">
    nell'onload della pagina ho il javascript seguente:
    crossbrowsing, funziona con IE e con Firefox
    codice:
    try{
    var myiframe=document.getElementById("frm")
    if (myiframe.contentDocument) //ns6 syntax, mozilla
    {
    contenthg = myiframe.contentDocument.body.offsetHeight;
    myiframe.height = contenthg + 50; //aggiungo 50 pixel
    //myiframe.contentDocument.myform.mytextarea.select()
    }
    else if (myiframe.Document) //ie5+ syntax
    {
    //alert(myiframe.height);
    contenthg = myiframe.Document.body.offsetHeight;
    myiframe.height = contenthg + 50; //aggiungo 50 pixel
    }
    		
    		} catch (e) {
    			//alert("Error: " + e. message + " (" + e.name + ")");
    		}

  5. #5
    Ciao, mi interesserebbe implementare il tuo codice, ma cosa intendi per "nell'onload della pagina" (per il secondo codice), devo metterlo prima/dopo l'header sul body, devo creare un file?
    Grazie

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quote Originariamente inviata da ericdispencer Visualizza il messaggio
    Ciao, mi interesserebbe implementare il tuo codice, ma cosa intendi per "nell'onload della pagina" (per il secondo codice), devo metterlo prima/dopo l'header sul body, devo creare un file?
    Grazie
    L'utente che cerchi di contattare non frequenta piu' dal 2011, se vuoi avere qualche possibilita' apri una nuova discussione (e rileggi il regolamento interno)
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.