Salve, il codice che posterò devo modificarlo, in quanto ho fatto una'ltra volta copia e incolla da internet solo per vedere il metodo, comunque eccovi la prima pagina:
Fin qui funziona tutto bene, ma dentro la seconda(sarebbe pagina.php, quella a cui pounta l'iframe) ho una situazione del genere:codice:<script type="text/javascript"> //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height: //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none: var iframeids=["myframe"] //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended): var iframehide="yes" var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1] var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers function resizeCaller() { var dyniframe=new Array() for (i=0; i<iframeids.length; i++){ if (document.getElementById) resizeIframe(iframeids[i]) //reveal iframe for lower end browsers? (see var above): if ((document.all || document.getElementById) && iframehide=="no"){ var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]) tempobj.style.display="block" } } } function resizeIframe(frameid){ var currentfr=document.getElementById(frameid) if (currentfr && !window.opera){ currentfr.style.display="block" if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax currentfr.height = currentfr.Document.body.scrollHeight; if (currentfr.addEventListener) currentfr.addEventListener("load", readjustIframe, false) else if (currentfr.attachEvent){ currentfr.detachEvent("onload", readjustIframe) // Bug fix line currentfr.attachEvent("onload", readjustIframe) } } } function readjustIframe(loadevt) { var crossevt=(window.event)? event : loadevt var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement if (iframeroot) resizeIframe(iframeroot.id); } function loadintoIframe(iframeid, url){ if (document.getElementById) document.getElementById(iframeid).src=url } if (window.addEventListener) window.addEventListener("load", resizeCaller, false) else if (window.attachEvent) window.attachEvent("onload", resizeCaller) else window.onload=resizeCaller </script> <iframe id="myframe" src="../pagina.php" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none;"></iframe>
L'iframe al primo caricamento di ridimensiona in automatico, occupando lo spazio che gli serve e niente di più, quindi fin qui tutto bene, ma quando si attiva la chiamata ajax contenuta in pagina.php il risultato viene stampato dentro l'iframe senza che si ridimensioni in maniera automatica, inoltre il browser attiva automaticamente la barra per lo scroll verticale, quando avevo specificato sopra: overflow:visible . Non capisco il problema, perchè teoricamente non dovrebbe manifestarsi, forse non si configura bene con la chiamata ajax, ma comunque attiva lo scroll e lo stampa lo stesso, quinid non capisco.codice:<?php echo 'Ciao!'; ?> <!-- qui una chiamata ajax, in seguito al click di un pulsante sulla form contenuta, i dati vengono passati tramite il metodo "$.ajax{type:POST....}" --> <div id="contenuto_chiamata_ajax"></div>
Se potete darmi una mano vi ringrazio in anticipo!
P.S. visto che scrolling come attributo iframe è stato deprecato in html 5, da cosa è stato sostituito?
![]()

Rispondi quotando