Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492

    Iframe ridimensionabili con javascript?

    Ciao, penso sia questa la sezione più idonea in cui postare, in caso contrario se per favore potete spostarmi.
    Ho l'esigenza di inserire degli iframe all'interno di una pagina i quali devono essere ridimensionabili a seconda del contenuto della pagina inclusa.
    Mediante una ricerca ho trovato questo thread:
    http://forum.html.it/forum/showthrea...ghlight=iframe

    il quale fa riferimento a un articolo:
    http://www.dyn-web.com/dhtml/iframes/

    in particolare alla sezione "Setting iframe height to height of document inside".
    Il problema è che non riesco a capire quale sia il codice da inserire e dove inserirlo, perchè in effetti nell'esempio che viene riportato il ridimensionamento funziona.
    Qualcuno ha idea di come possa fare?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Sammy73
    Registrato dal
    May 2001
    Messaggi
    412
    usi parent nella pagina che si carica nell'iframe

    parent.document.getElementById('nome_iframe').heig ht=1000

    spero che funzi

    qui c'è qualcosa di utile forse
    http://forums.devshed.com/archive/t-127543
    Pesa più un litro d'acqua o uno d'olio...?
    La prima persona al mondo a finire Splinter Cell uccidendo solo una persona. Già che c'ero l'ho fatto anche in Splinter Cell 2: solo 5 UCCISIONI
    .*zerOKilled*.

  3. #3
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492
    Ciao Sammy, grazie per la risposta, ma non riesco a fare funzionare nulla

    In pratica io ho fatto questo:

    nell'head della pagina che verrà caricata nel frame ho messo questo:

    codice:
    <script type="text/javascript">
    function goSetHeight() {
    if (parent == window) return;
    else parent.setIframeHeight('iframe');
    }
    </script>
    e poi nel body:
    codice:
    <body onload="goSetHeight()"
    Nella pagina che conterrà il frame ho messo questo:
    codice:
    <script type="text/javascript">
    function getDocHeight(doc) {
    var docHt = 0, sh, oh;
    if (doc.height) docHt = doc.height;
    else if (doc.body) {
    if (doc.body.scrollHeight) docHt = sh = doc.body.scrollHeight;
    if (doc.body.offsetHeight) docHt = oh = doc.body.offsetHeight;
    if (sh && oh) docHt = Math.max(sh, oh);
    }
    return docHt;
    }
    
    function setIframeHeight(iframeName) {
    var iframeWin = window.frames[iframeName];
    var iframeEl = document.getElementById? document.getElementById(iframeName): document.all? document.all[iframeName]: null;
    if ( iframeEl && iframeWin ) {
    iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous
    var docHt = getDocHeight(iframeWin.document);
    // need to add to height to be sure it will all show
    if (docHt) iframeEl.style.height = docHt + 30 + "px";
    }
    }
    
    function loadIframe(iframeName, url) {
    if ( window.frames[iframeName] ) {
    window.frames[iframeName].location = url;
    return false;
    }
    else return true;
    } 
    </script>
    e poi
    codice:
    <iframe name="iframe" src="http://www.miosito.com/miapagina.php">
    Sicuramente ho sbagliato qualcosa però, perchè non funziona

  4. #4
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492
    Rispondo nel caso la soluzione che ho trovato possa tornare utile a qualcuno.
    Se avete lo stesso problema potete trovare in questo post una soluzione molto semplice (anche per me) al problema

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    33
    ciao a tutti
    ho seguito tutta la discussione ma io ho un problema:

    questo il codice della mia semplicissima pagina con iframe:

    codice:
    <script src="/design/udc/javascript/script.js" type="text/javascript" language="javascript"></script> 
    
    <HTML>
    <HEAD>
    <TITLE>prova</TITLE>
    
    
    
    
    </HEAD>
    <BODY BGCOLOR="white" vlink="blue" link="blue" >
    					<iframe onload="ciao();" src="http://www.platino.it"
    						 NAME="iframename" ID="iframename" scrolling="no" width="100%">
    					</iframe>
    </BODY>
    </HTML>
    e nel .js c'è

    codice:
    function ciao()
    {
    h = document.getElementById('iframename').contentDocument.body.scrollHeight; 
    alert('h: '+h);
    document.getElementById('iframename').style.height = h; 
    }

    solo che mi ritorna un errore javascript:'document.getElementById(...).contentDo cument.body' è nullo o non è un oggetto

    eppure ho copiato paro paro ciò che ho visto nel post in inglese...

    aiuto please!!
    bisa

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 © 2024 vBulletin Solutions, Inc. All rights reserved.