2

私は自分の Web サイトで html フレームを使用しています。それはずっと実行されています。通常は Firefox を使用してネットサーフィンをするだけです。上部のメニュー項目をクリックすると、フレームの下部にコンテンツが表示されるはずですが、Firefox では正しく表示されますが、IE8 ではフレームの上部にコンテンツが表示され、メニュー項目が置き換えられます。

詳細を説明するために、HTML ページの簡易バージョンを含めます。最上位には、index.html ページとファイル ディレクトリの 2 つの項目があり、index.html を除くすべてのページがディレクトリにあります。 、したがって、次のようになります。

index.html
Dir_Docs
  00_Home.html
  00_Install_Java.html
  00_Top_Menu.html
  01_Home_Menu.html
  01_Install_Java_Menu.html
  10_Home_Welcome.html
  10_How_To_Install_Java.html

[ index.html ]
<Html>
  <Head><Title>Java Applications : Tv_Panel, Java_Sound, Biz Manager and Web Academy</Title></Head>

<Frameset Rows="36,*" Border=5 Bordercolor=#006B9F>
  <Frame Src=Dir_Docs/00_Top_Menu.html Frameborder=YES Scrolling=no Marginheight=1 Marginwidth=1>
  <Frame Src=Dir_Docs/00_Home.html Name=lower_frame Marginheight=1 Marginwidth=1>
</Frameset>
</Html>

[ 00_Home.html ]
<Html>
  <Head><Title>NMJava Application Development</Title></Head>

  <Frameset Cols="217,*" Align=center BorderColor="#006B9F">
    <Frame Src=01_Home_Menu.html Frameborder=YES Name=side_menu Marginheight=1 Marginwidth=1>
    <Frame Src=10_Home_Welcome.html Name=content Marginheight=1 Marginwidth=1>
  </Frameset>
</Html>

[ 00_Install_Java.html ]
<Html>
  <Head>
    <Title>Install Java</Title>
</Head>

  <Frameset Cols="217,*" Align=center BorderColor="#006B9F">
    <Frame Src=01_Install_Java_Menu.html Frameborder=YES Name=side_menu Marginheight=1 Marginwidth=1>
    <Frame Src=10_How_To_Install_Java.html Name=content Marginheight=1 Marginwidth=1>
  </Frameset>
</Html>

[ 00_Top_Menu.html ]
<Html>
  <Head>Top Menu</Head>
<Body>
<Center>

<Base target=lower_frame>

<Table Border=1 Cellpadding=3 Width=100%>
  <Tr>
    <Td Align=Center Bgcolor=#3366FF><A Href=00_Home.html><Font Size=4 Color=White>Home</Font></A></Td>
    <Td Align=Center Bgcolor=#3366FF><A Href=00_Install_Java.html><Font Size=4 Color=White>Install Java</Font></A></Td>
  </Tr>
</Table>

</Center>

</Body>
</Html>

[ 01_Home_Menu.html ]
<Html>
  <Head><Title>Home Menu</Title></Head>

<Base Target=content>
<Body Bgcolor=#7799DD>
  <Center>
    <Table Border=1 Width=100%>
      <Tr><Td Align=center Bgcolor=#66AAFF><A Href=10_Home_Welcome.html>Welcome</A></Td></Tr>
    </Table>
  </Center>
</Body>

</Html>

[ 01_Install_Java_Menu.html ]
<Html>
  <Head><Title>Install Java</Title></Head>

<Base Target=content>
<Body Bgcolor=#7799DD>
  <Center>
    <Table Border=1 Width=100%>
      <Tr><Td Align=Center Bgcolor=#66AAFF><A Href=10_How_To_Install_Java.html>How To Install Java ?</A></Td></Tr>
    </Table>
  </Center>
</Body>

</Html>

[ 10_Home_Welcome.html ]
<Html>
  <Head><Title>NMJava For Software Development</Title></Head>
<Body>

<Center>
  <P>
  <Font Size=5 Color=blue>Welcome To NMJava For Software Development</Font>
  <P>

</Center>
</Body>
</Html>

[ 10_How_To_Install_Java.html ]
<Html>
  <Head>
    <Title>Install Java</Title>
  </Head>

  <Body>
    <Center>

    <Br>
    <Font Size=5 Color=#0022AE><A Href=http://java.com/en/download/index.jsp>How To Install Java ?</A></Font>
    <Br>
    <P>
    <Table Width=90% Cellspacing=5 Cellpadding=5>
      <Tr><Td><Font Color=#0022AE>
        You need JRE 6 (Java Runtime Environment) to run the programs on this site. You may or may not have Java already installed on your PC, you can find out by going to the following 
site, if you don't have the latest version, you can install/upgrade it, it's free from Sun/Oracle at :<Font Size=4> <A Href=http://java.com/en/download/index.jsp>http://java.com/en/download/index.jsp</A></Font>.<P>
      </Font></Td></Tr>
    </Table>
    </Center>

  </Body>
</Html>

何が問題なのか、2 つのブラウザーの動作が異なる理由、およびこれを修正する方法は?

詳細を確認したい場合に備えて、私のサイトはhttp://nmjava.comです。

フランク

4

3 に答える 3

2
<Body>
<Center>

<Base target=lower_frame>

それがあなたの特定の問題です。の一部としてではなく、<base>内部でのみ許可されます。IEの以前のバージョンでは、それを回避できます。IE8はそうではありません。置き忘れたベースを無視するため、リンクは現在のフレームをターゲットにしたままになります。<head><body>

ただし、フレームが単にお勧めできないことを超えて、マークアップはさまざまな非常に基本的な方法で無効であるため、より奇妙な問題が発生する可能性があります。

于 2010-05-04T21:32:16.090 に答える
2

あなたの HTML は有効ではなく、IE は無効な HTML でつまずき、奇妙な動作を引き起こすことが知られています。正直なところ、コードは非常に非標準であるため、コードで何が起こっているのかを理解するのは少し難しいです. HTML のベスト プラクティスに慣れておく必要があります。w3 (w3.org) と同様に、別のリスト ( http://www.alistapart.com/ ) は優れたリソースであり、それらのバリデーター (validator.w3.org) が役立つ場合があります。 . まず、html タグ内のすべての属性を引用符で囲む必要があり、html タグはすべて小文字にする必要があります。

また、別のフレームをターゲットにするには、アンカー タグは次のようになります。<a href="myurl.html" target="_frameName" />

于 2010-05-04T21:07:13.863 に答える
2

でこれを使用して、IE8 を強制的に IE7 のように動作させることができますHEAD

<meta http-equiv="X-UA-Compatible" content="IE=7" />

これで問題が説明されるわけではありませんが、多くの場合、簡単に修正できます。

IE8 では、F-12 を押してデバッグ ウィンドウを表示します。HTML の問題を見つけるのに役立ちます。ページがどのドキュメント モードにあるかを確認します。「quirks モード」になっていると、問題が発生します。

フレームを使用せずにデザインを再考してください

代替テキスト
(出典: moveable.com )

于 2010-05-04T21:04:04.057 に答える