繁体   English   中英

iframe-resizer IE11有关调整大小和超链接的问题

[英]iframe-resizer IE11 issue on resizing and hyperlinks

我对从https://github.com/davidjbradshaw/iframe-resizer获得的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>

还有没有办法让iframe中的本地超链接服务器实际刷新父窗口?

任何帮助将非常感激 :-)

接下来,我发现了一种解决方法,尽管它并不理想:

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

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

调整大小时,这确实可以解决填充问题,但是会在调整大小后强制重新加载页面。

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

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

但是,某些尺寸的调整大小不会显示所有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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM