2011-11-07 9 views
0

私はiframeが何であるか知っています!ChromeとSafariのiframeが並んでいて、並んでいません

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> 

うまくいけば、それはあまりにも悪くないのですが、エラーは間違いなくあなたがPHPを使用して印刷2つのiframeを持って下、近くで発生しているようです。 「App Frame」を完全に削除した場合、IEでテストしたようにページは完璧ですが、iframeを印刷すると何らかの理由で右ではなくメインフレームの下に印刷されます。

これはChromeとSafariでのみ発生し、FirefoxとIEがフレームを横に並べて印刷するため、WebKitである必要があると想定します。

私が信じるようになったので、htmlは左から右の基準で動作します。何らかの種類のブレークがないと次の行に落ちます。

私は、この場合に起こることはないと思う唯一の理由は、メインセルの幅が100%であることです。その右側の揺れ防止は、下の行にプッシュされます。

誰もChromeとSafariのIEからのレンダリングをミラーリングする方法を提案できますか?

注:私はこれまでページに何も影響していないと思っていますが、ページ全体が1つのテーブルで2つの行に分割されています。一番上の行は、私のヘッダーのレイアウトを制御するテーブルです。 2行目は別のテーブルで、フレームのレイアウトを制御します。

これは、ユーザーの解像度、したがってウィンドウサイズに基づいてページをダイナミックに調整できるためです。

+0

他に何もない場合、テーブルは無効です。行に「」というタグがありません。そして、あなたは閉じた ''と ''タグがありません。他の問題については、ブラウザのバグを非難する前に、あなたのhtmlが有効であることを確認することから始めます。 –

+0

申し訳ありませんが、実際には、ページ全体の一部を選択したためです。私はテーブルと頭のタグがすべて大丈夫であることを保証することができます。 – Eds

答えて

0

親テーブルセルに基づいて固定幅のテーブルセルに各iframeをワーピングすることでこれを修正しました。

関連する問題