Javascript iframe resizer IE11关于调整大小和超链接的问题

Javascript iframe resizer IE11关于调整大小和超链接的问题,javascript,jquery,iframe,Javascript,Jquery,Iframe,关于iframe大小调整器,我有几个小问题可从https://github.com/davidjbradshaw/iframe-resizer 如果使用Restore Down调整浏览器的大小,首先一切看起来都正常,如果手动进一步向下调整浏览器的大小,iframe会根据分辨率调整大小,并会显示一些额外的填充 然而,如果你随后尝试调整浏览器窗口的大小并增加其宽度,填充会变得更加明显,如果你真的将窗口最大化,那么填充是荒谬的 <iframe src="footer" style="width:

关于iframe大小调整器,我有几个小问题可从
https://github.com/davidjbradshaw/iframe-resizer

如果使用Restore Down调整浏览器的大小,首先一切看起来都正常,如果手动进一步向下调整浏览器的大小,iframe会根据分辨率调整大小,并会显示一些额外的填充

然而,如果你随后尝试调整浏览器窗口的大小并增加其宽度,填充会变得更加明显,如果你真的将窗口最大化,那么填充是荒谬的

<iframe src="footer" style="width: 100%; border: 0" scrolling="no"></iframe>
<script type="text/javascript" src="/Scripts/iframeResizer.min.js"></script>
<script type="text/javascript">
    iFrameResize({
        log: false,
        enablePublicMethods: true,
    });
</script>

iFrameResize({
日志:错误,
enablePublicMethods:true,
});
还有一种方法可以让iframe中的本地超链接服务器实际刷新父窗口吗

任何帮助都将不胜感激:-)

接下来,我找到了一个解决方法,尽管它并不理想:

<script type="text/javascript">
    iFrameResize({
        log: false,
        enablePublicMethods: true
    });

    $(window).resize(function () {
        location.reload();
    });
</script>

iFrameResize({
日志:错误,
enablePublicMethods:true
});
$(窗口)。调整大小(函数(){
location.reload();
});
这确实解决了向上调整大小时的填充问题,但会强制页面在调整大小时重新加载

下面的代码解决了向上调整大小时的额外填充问题,无需重新加载:

<script type="text/javascript">
    $('iframe').iFrameResize({
        log: false, autoResize: false,
        sizeWidth: true
    });
</script>

$('iframe')。iframesize({
日志:false,自动调整大小:false,
尺寸:对
});
但是,某些大小的调整不会显示所有iframe内容


不幸的是,到目前为止,页面重新加载是唯一能够真正解决这两个问题的方法,我希望有人有一个更优雅的解决方案

能够在不重新加载页面的情况下解决问题,我的解决方案代码如下:

<script type="text/javascript">
    $('iframe').iFrameResize({
        log: false
    });

    function correctHeight() {
        var iFrameId = document.getElementById('iFrameResizer0');

        $(window).resize(function () {
            $(iFrameId).attr('style', 'width: 100%').attr('height', '0px');

            var contentHeight = iFrameId.contentWindow.document.body.scrollHeight + 'px';

            $(iFrameId).attr('height', contentHeight).css('height', contentHeight);
        });
    }

    window.addEventListener("resize", function () {
        correctHeight();
    }, false);
</script>

$('iframe')。iframesize({
日志:false
});
函数修正高度(){
var iFrameId=document.getElementById('iFrameResizer0');
$(窗口)。调整大小(函数(){
$(iFrameId).attr('style','width:100%').attr('height','0px');
var contentHeight=iFrameId.contentWindow.document.body.scrollHeight+'px';
$(iFrameId).attr('height',contentHeight).css('height',contentHeight);
});
}
addEventListener(“调整大小”,函数(){
校正高度();
},假);

我不知道这一特定策略的细节,但我使用post消息在主机和子机之间进行通信。我认为这一点有点太复杂了,只是在a标记中添加了
target=“\u parent”
,解决了该特定问题。