我正在使用下面的lib http://davidjbradshaw.github.io/iframe-resizer/,它使跨站点的iFrame可以在源页面之后调整大小。
虽然我在移动设备上遇到了以下问题,但我无法解决:
当第一次加载页面时,iFrame的高度是正确的(整个加载的页面都可以在iframe中看到)。但当按下一个高度小于上一页的链接时,则无法调用"resizedCallback“函数。因此,当前页面高度与上一页面保持不变。而当前页面的高度与前一页面相比太小。这只会在移动设备上出现。
发布于 2015-05-15 15:14:55
这可以通过从第二页调用父resize方法来解决。
例如,您的iFrame是这样的:
<iframe id="paymentForm" src="/payments/onlineDetailsForm" width="100%"
height="400px" onload='resizeIframeWithoutScrolling(this);'></iframe>
和调整大小的方法有:
<script type="text/javascript">
function resizeIframeWithoutScrolling() {
document.getElementById("paymentForm").style.height = (parseInt(document
.getElementById("paymentForm").contentWindow.document.body.scrollHeight) + 1)
+ "px";
}
function AdjustIframeHeight(i) { document.getElementById("paymentForm").style.height = parseInt(i) + "px"; }
现在,在第二页上,只需添加以下脚本:
<script type="text/javascript">
parent.resizeIframeWithoutScrolling(document.getElementById("secondPageId").scrollHeight);
此脚本将自动调整大小。
https://stackoverflow.com/questions/29508586
复制相似问题