Chrome和Safari iframe相互叠加,而不是并排

时间:2011-11-07 17:00:46

标签: php html google-chrome iframe safari

我知道,iframe,什么是PITA!

Anyhoos,它们可以满足我的需求,它只是一个主显示框架,以及一个包含可以随时调用的应用程序的隐藏边框。

以下是代码:

<html>
<head>

<!--Main Style-->
<link rel="stylesheet" type="text/css" href="site/css/main.css" />

<!--JQuery-->
<script type="text/javascript" src="site/scripts/jquery.js"></script>

<!--BG Colour, Hide Scrollbar and Margins-->
<body bgcolor="cc6666" style="overflow: hidden" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">

<!--Page Table, Contains Everything To Keep From Cutting Off iFrame-->
<table height="100%" width="100%" cellspacing="0" cellpadding="0" border="0">

<!--iFrame Cell-->
<td height="100%">

<!--Main Frame-->
<!--Main frame loads last visited page based on user, unless not logged in then loads welcome page-->

<?php

if(isset($_SESSION['last_visited'])) {
print('<iframe name="frame" src="'.$_SESSION['last_visited'].'" width="100%" height="100%" frameborder="0" style="bgcolor:white;"></iframe>');
}
else {
print('<iframe name="frame" src="site/welcome.php" width="100%" height="100%" frameborder="0"></iframe>');
}
?>

<!--App Frame-->
<!--App frame will be initiated if no user is logged in, or if a user with apps turned on is logged in-->

<?php

if(isset($_SESSION['SESS_APPS'])) {
if($_SESSION['SESS_APPS'] == '1') {
    print('<iframe id="app_frame" src="site/apps.php" width="0%" height="100%" frameborder="0" scrolling="no"></iframe>');
}
}
 else {
print('<iframe id="app_frame" src="site/apps.php" width="0%" height="100%" frameborder="0" scrolling="no"></iframe>');
}
?>

<!--End iFrame Cell-->
</td>

<!--End Page Table-->
</table>
</body>

希望这不是太糟糕,但错误肯定似乎发生在底部附近,你有两个用iframe打印的iframe。如果我完全删除“应用程序框架”,页面是完美的,因为我在IE中测试过,但如果它打印iframe,那么由于某种原因它将它打印在主框架下方而不是右边。

这种情况只发生在Chrome和Safari中,并且假设它必须是WebKit,因为Firefox和IE会像您期望的那样并排打印帧。

正如我已经开始相信的那样,html在从左到右的基础上工作,除非有某种中断,它会下降到下一行。

我认为在这种情况下并非发生的事情的唯一原因是主单元格的宽度为100%,这意味着它右侧的antyhing被推到下面的行上。

任何人都可以提出一种方法,我可以在IE浏览器中为Chrome和Safari镜像渲染吗?

注意:我认为这对目前的页面没有任何影响,但整个页面是一个表,分成两行。顶行是一个表,控制我的标题的布局。第二行是另一个表,控制帧的布局。

这是因为它允许页面根据用户分辨率以及窗口大小进行动态调整。

1 个答案:

答案 0 :(得分:0)

通过在基于父表格单元格的固定宽度的表格单元格中扭曲每个iframe来解决此问题。