我有一个非常基本的设置:
//index.js with iFrame Resizer, included frame has contentWindow api loaded
$(document).ready(function() {
$('#odbFrame').iFrameResize({
resizeFrom: 'child',
checkOrigin: 'false'
});
});
.container-fluid {
padding: 0 !important;
}
#odbFrame {
border: 0;
width: 100%;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- bootstrap -->
<div class="container-fluid">
<iframe src="{$odbUrl|esc}" id="odbFrame"></iframe>
</div>
<script src="index.js"></script>
但当它加载时,页面首先会正确调整大小,然后会增长到无穷大。
这是日志:
[iFrameSizer][odbFrame] Parsed 1407 HTML elements
[iFrameSizer][odbFrame] Element position calculated in 183ms
[iFrameSizer][odbFrame] Event throttle increased to 366ms
[iFrameSizer][odbFrame] Trigger event lock on
[iFrameSizer][odbFrame] Sending message to host page (odbFrame:1441:1853:mutationObserver)
[iFrameSizer][Host page: odbFrame] Received
[iFrameSizer]odbFrame:1441:1853:mutationObserver
[iFrameSizer][Host page: odbFrame] Checking connection is from: <$odbUrl>
[iFrameSizer][Host page: odbFrame] Checking height is in range 0-Infinity
[iFrameSizer][Host page: odbFrame] Checking width is in range 0-Infinity
[iFrameSizer][Host page: odbFrame] Requesting animation frame
[iFrameSizer][Host page: odbFrame] IFrame (odbFrame) height set to 1441px
[iFrameSizer][odbFrame] Trigger event cancelled: resize
[iFrameSizer][odbFrame] Trigger event: mutationObserver: [object HTMLDivElement] childList
[iFrameSizer][odbFrame] Trigger event lock off
[iFrameSizer][odbFrame] --
这种情况永远都在重复(高度一直在增长)。
临时修复是使用maxHeight,但这不应该是必需的。
我试过:
所有的计算方法
外部触发resize方法
都失败了!
在同一URL的其他页面上(主机和子站点),情况并非如此!
最佳答案
下面是我读过这个Github topic后的修复方法:
最常见的原因是CSS将样式设置为高于
页面,每次调整页面大小时,CSS的大小都超过底部
我们又开始了。
我有
body{
min-height:100vh;
}
我把它移走了,现在可以用了!
关于javascript - iFrame Resizer将iFrame的高度增加到无穷大,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48563508/