iFrame Resizer 将 iFrame 的高度增加到无穷大
iFrame Resizer increases height of iFrame to infinity
我有一个非常基本的设置:
//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,但这不是必需的。
我试过:
- 所有的 calculateHeightMethods
- 外部触发调整大小方法
都失败了!
在相同URL的其他页面(主机和子),情况并非如此!
这是我在阅读这篇文章后修复我的方法的方法Github topic:
The most common cause of the is CSS setting a style to be taller than
the page, everytime the page resizes, the CSS sizes past the bottome
of the page and around we go again.
我有
body{
min-height:100vh;
}
我删除了它,现在可以使用了!
问题是:
使用绝对坐标放置页脚会导致计算错误。
页脚已删除,现在可以使用了
我有一个非常基本的设置:
//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,但这不是必需的。
我试过:
- 所有的 calculateHeightMethods
- 外部触发调整大小方法
都失败了!
在相同URL的其他页面(主机和子),情况并非如此!
这是我在阅读这篇文章后修复我的方法的方法Github topic:
The most common cause of the is CSS setting a style to be taller than the page, everytime the page resizes, the CSS sizes past the bottome of the page and around we go again.
我有
body{
min-height:100vh;
}
我删除了它,现在可以使用了!
问题是: 使用绝对坐标放置页脚会导致计算错误。 页脚已删除,现在可以使用了