Zaujímalo by ma, či to nie je nejaký spôsob, ako to urobiťže ak je v systéme iFrame veľa obsahu, zmenší sa veľkosť dokumentu tak, aby sa zmestili. Celý obsah vnútri iFrame je menší. Na objasnenie chcem zmeniť veľkosť obsahu, nie samotnú veľkosť iFrame.
Akékoľvek nápady, ako by som to urobil?
Vyskúšal som nejaké veci, ale zatiaľ žiadne šťastie.
scenár:
<script type="text/javascript">
function autoResize(id){
var newheight;
var newwidth;
if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
}
document.getElementById(id).height= (newheight) + "px";
document.getElementById(id).width= (newwidth) + "px";
}
</script>
iFrame:
<iframe id="iframehtml" style="width:100%;height:100%;" onLoad="autoResize("iframe1");"></iframe>
Mimochodom, dôvod, prečo nie je nastavený žiadny súbor src pre iFrame, je, že ho mám v jazyku JavaScript, takže keď kliknete na tlačidlo a, upraví html iFrame cez jQuery.
odpovede:
0 pre odpoveď č. 1Mali by ste to dosiahnuť pomocou jQuery .contents () -
za predpokladu, že id je ID prvku, ktorý chcete zmeniť v rámci iframe:
var frame = $("#iframehtml")
frame.contents().find(id).width = (newheight) + "px";
vidieť http://forum.jquery.com/topic/changing-elements-in-an-iframe
0 pre odpoveď č. 2
Môžete použiť zaťaženie na zmenu rozmeru iframe
var iframe = document.getElementByID("your-iframe");
iframe.addEventListener("load", function() {
iframe.style.height = iframe.contentWindow.document.body.offsetHeight + "px";
})