/ / Resize iFrame obsah cez JavaScript - javascript, jquery, html, iframe

Zmena veľkosti obsahu iFrame cez JavaScript - javascript, jquery, html, iframe

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ď č. 1

Mali 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";
})