Nie wiem, dlaczego rozwiązanie @ Nelsona nie działało w Firefoksie 26 (Ubuntu), ale poniższe rozwiązanie Javascript-jQuery wydaje się działać w Chromium i Firefox.
/**
* Called to resize a given iframe.
*
* @param frame The iframe to resize.
*/
function resize(frame) {
var b = frame.contentWindow.document.body || frame.contentDocument.body,
cHeight = $(b).height();
if(frame.oHeight !== cHeight) {
$(frame).height(0);
frame.style.height = 0;
$(frame).height(cHeight);
frame.style.height = cHeight + "px";
frame.oHeight = cHeight;
}
// Call again to check whether the content height has changed.
setTimeout(function() { resize(frame); }, 250);
}
/**
* Resizes all the iframe objects on the current page. This is called when
* the page is loaded. For some reason using jQuery to trigger on loading
* the iframe does not work in Firefox 26.
*/
window.onload = function() {
var frame,
frames = document.getElementsByTagName('iframe'),
i = frames.length - 1;
while(i >= 0) {
frame = frames[i];
frame.onload = resize(frame);
i -= 1;
}
};
Powoduje to ciągłe zmienianie rozmiarów wszystkich elementów iframe na danej stronie.
Testowany z jQuery 1.10.2.
Używanie $('iframe').on('load', ...
działałoby tylko sporadycznie. Należy zauważyć, że rozmiar musi początkowo być ustawiony na 0
pikseli wysokości, jeśli ma się kurczyć poniżej domyślnej wysokości iframe
w niektórych przeglądarkach.
Zapomniałem wspomnieć, że na url: moskah/links można zapisać linki takie jak: http: // facebook.com Spróbuj, zrozumiesz, że lista będzie się powiększać. – Youss
Zobacz także w ten sposób za pomocą prostego skryptu javascript: http://stackoverflow.com/questions/9162933/make-iframe-height-dynamic-based-on-content -inside-jquery-javascript/9163087 # 9163087 – Aristos