2009-03-30 24 views
6

Ich arbeite derzeit an einer vorhandenen Website, die iframes (seufz!) Verwendet, diese sind ziemlich schmerzhaft zu arbeiten, und ich habe Probleme, die Höhe des iframe mit der Höhe des HTML zu skalieren Inhalt.Dynamische Höhe von iframe

Ich habe ein paar verschiedene Script-Snippets ausprobiert, die auf den Interwebs herumschweben, aber keiner von ihnen hat für mich funktioniert. Ich möchte wirklich jQuery dazu verwenden, aber das ist keine Option, da IT die Größe der Pageload niedrig halten möchte.

Kennt jemand eine gute Möglichkeit, dies zu tun, in einer Weise, die auf FF und IE 6+ funktioniert?

Antwort

4

Sie sollten einfach in der Lage sein, die Parameter height und width zu setzen - da diese beide gültige Attribute des iframe dom-Elements sind.

function resize(width, height) { 
    var frame = document.getElementById('my_iframe'); 
    frame.width = width; 
    frame.height = height; 
} 

Natürlich gilt dies nur, wenn Sie die iframe, um die Größe versuchen, aus dem es übergeordnetem Element ist (das Dokument mit dem tatsächlichen iframe-Tag). Wenn Sie versuchen, den Iframe innerhalb des Iframes zu skalieren (das Dokument, das der Iframe lädt), müssen Sie eine öffentliche Funktion des übergeordneten Elements aufrufen, um die Größenänderung durchzuführen.

In iframe: parent.resize(600, 800);

+0

Vielen Dank für Ihre Antwort :) Ich bin mir nicht sicher, ob es wenn mein Problem löst. Ich werde erarbeiten: Mein Problem ist, dass ich ein Akkordeon mit Li-Elemente, die erweitern und reduzieren, möchte ich die Höhe des Iframe automatisch entsprechend der Höhe der src-html, die dieses Akkordeon enthält ändern. – timkl