Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Iframe alto quanto pagina contenuta

    Sono sicuro che sia una domanda di una grande stupidità, cmq:
    come si fa a rendere un iframe alto quanto la pagina nell src?

    Se per esempio io ho

    <iframe src="http://www.google.it" width="100%"></iframe>

    Che height devo dare all'iframe affinche questo sia alto quanto la pagina www.google.it?

  2. #2
    Pare che sia necessario usare javascript. Strano però; questo script dovrebbe funzionare:

    codice:
    function changeHeight(iframe) {
    
    	var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
    	if (innerDoc.body.offsetHeight) //ns6 syntax
    	{
    		iframe.height = innerDoc.body.offsetHeight + 32; //Extra height FireFox
    	}
    	else if (iframe.Document && iframe.Document.body.scrollHeight) //ie5+ syntax
    	{
    		iframe.height = iframe.Document.body.scrollHeight;
    	}
      
    }
    ma quando lo uso in questo iframe

    <iframe src="http://www.google.it" width="100%" id="myIframe" onload="changeHeight(this)"></iframe>

    mi da errore su tutti i browser, se metto un try catch compare il messaggio che il permesso è negato

  3. #3
    A quanto pare mi nega il permesso perchè la pagina è esterna al dominio... Si può risolvere ciò in qualche modo?

    Ho trovato una soluzione che NON mi soddisfa, poichè necessita di scrivere ogni volta un file sul server.

    codice:
     <?php
    // Edit these...
    $page_to_cache = "http://www.theirdomain.com/pagetocache.html";
    $page_to_write = 'mycachedpage.html';
    
    // Do not edit below...
    $cache = file_get_contents($page_to_cache);
    
    $fh = fopen($page_to_write, 'wt');
    fwrite($fh, $cache);
    fclose($fh);
    
    ?>
    Altri modi?

  4. #4
    In parole povere: posso adattare l'altezza di un frame al suo contenuto, anche se la pagina è di un dominio esterno?

  5. #5
    Qualche moderatore può spostare il topic in javascript? Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per spostare il thread lo faccio pure, ma non credo che rispolvi.

    In realta` ci sono dei limiti imposti dai brwoser, per cui non puoi agire su pagine di altri domini.
    E` un limite dettato da ragioni di sicurezza: se si potesse, un web developer potrebbe avviare un form di una pagina inclusa in un iframe, magari di un servizio a pagamento, o farti scaricare un virus, senza che tu utente possa notarlo o impedirlo.

    (Nota: Si puo` pero` farlo in IE6, se le protezioni sono tenute ad un livello basso)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Avevo trovato una pseudo-soluzione, ovvero di aprire un iframe nascosto che apre una pagina del mio dominio che fa un include, e di questa prendere l'offsetHeight.. Peccato che per qualche motivo l'offsetHeight viene calcolato male.

    Insomma, questo non si può fare.

    Ho anche un altro dilemma, quello di mostrare ad ogni onload dell'iframe, l'url caricato. Ho provato con onload="alert(this.contentWindow.loaction.href);" ma ovviamente funziona solo se il dominio è interno.

    Se qualcuno avesse una soluzione lo faccia sapere, sia che utilizzi php, sia che utilizzi javascript, css o altro.

    In ogni caso credo sia inutile continuare a fare up visto che pare non ci siano soluzioni...

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.