0

我有两个网站,我有点融合在一起。我正在使用 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 中的内容将以大约一半的高度显示。没有,它会以全高显示(期望的行为)。我已经尽力做到了,如果有人需要更多详细信息,请告诉我。

4

1 回答 1

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 不能具有“相对”高度(即 %),因此它忽略高度:100%,并应用 iframe 的“默认”高度(150px在FF)。

于 2012-11-28T03:47:15.563 回答