iframe古怪

时间:2012-11-27 22:51:33

标签: javascript html iframe height

我有两个网站,我有点融合在一起。我正在使用iframe来显示另一个页面中的内容,就像它是一个网站一样。需要注意的是,我需要在iframe中查看时正常显示页面,否则显示警告。由于IIS不兼容,我无法将iframe页面导入主机页面,因此该选项已用完。当我在所有情况下简单地显示页面时,该计划工作正常,当我尝试实现我遇到问题的条件显示时。在iframe页面上,我有以下内容:

<script type="text/javascript">
    window.onload = function InFrame() {
        MainContent_siteIsNotFramed
        if (top != self) {
            //document.getElementById("siteIsFramed").style.display = "inline"
            siteIsFramed.visible = "true"
        }
        else {
            //document.getElementById("MainContent_siteIsNotFramed").style.display = "inline"
            siteIsNotFramed.visible = "true"
        }
        init();
    };
</script>

这是我尝试让iframe页面处理自己的条件显示。我在主机页面中唯一相关的代码是iframe本身,为了完整性,它看起来像这样:

</head>
<body style="margin:0; height: 100%;">

<iframe  runat="server" id="signInFrame" style="border: 0; width: 100%; height: 100%; ">
    Your browser does not support iframes. Consider upgrading.
</iframe>
</body>
</html>

当要显示/不显示的内容时,iframe中的内容将以大约一半的高度显示。没有,它显示在全高(期望的行为)。如果有人需要更多详细信息,请尽我所能,让我知道。

1 个答案:

答案 0 :(得分:1)

尝试“定位”iframe:

<iframe  runat="server" id="signInFrame" style="border: 0; position:absolute; width: 100%; height: 100%; ">
   Your browser does not support iframes. Consider upgrading.
</iframe>

问题在于,iframe默认位置(position:static)不能具有“相对”高度(即%),因此它忽略高度:100%,并应用“默认”高度iframe(FF中150px)。