我有两个网站,我有点融合在一起。我正在使用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中的内容将以大约一半的高度显示。没有,它显示在全高(期望的行为)。如果有人需要更多详细信息,请尽我所能,让我知道。
答案 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)。