动态调整动态iframe的大小
问题描述:
存在severalanswers动态调整大小的问题,该iframe一旦加载就不会自动更改大小。不过,我有一个iframe加载一个表单,它根据用户输入(即jQuery验证,PHP验证,基于输入打开的div等)向页面添加高度来更改大小(特别是其高度)。动态调整动态iframe的大小
有没有办法改变iframe的大小,即使在加载之后,根据其大小的变化?将滚动添加到iframe看起来很混乱。
答
如果在用户输入值后刷新页面,该怎么办?
答
您可以设置一个时间间隔,每隔200毫秒检查帧的内部大小是否在帧的'.contentDocument'属性中。 d调整帧的大小。
这将是这个样子:
var targetFrame = document.getElementById("InnerFrame");
var targetDocument = (targetFrame.contentWindow.document || targetFrame.contentDocument);
window.frameInterval = window.setInterval(function(){
targetFrame.height = targetDocument.body.height;
},200);
我没有测试过这一点,因为的jsfiddle不允许有URL的I帧。 但它可以让你开始。
你有没有尝试'min-height'属性在CSS? – KarelG
是的,这可能是一个选项。问题是高度可能因不同的浏览器和分辨率而不同,所以我更喜欢动态设置的东西。 – Josh
如果存在对此问题的非JS解决方案,它也将是'很好'(但也许不现实)。 – Josh