2

我在我的网站上使用html框架,它已经运行了一段时间,通常我只使用Firefox上网,我的网站看起来和功能都很好,但是今天我突然发现我的网站上的框架有IE8的问题,如果我单击顶部菜单项,它应该在框架的下部显示内容,在 Firefox 中正确执行此操作,但在 IE8 中,它在框架的上部显示内容并替换菜单项。

为了提供更多细节,我将包含我的 html 页面的简化版本,在顶层有两个项目,一个 index.html 页面和一个文件目录,除了 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>

他们有什么问题,为什么两个浏览器的行为不同,以及如何解决这个问题?

我的网站位于: http: //nmjava.com,以防您想查看更多详细信息。

坦率

4

3 回答 3

2

您可以强制 IE8 在HEAD.

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

虽然这并不能解释问题,但通常可以快速解决。

在 IE8 中,按 F-12 进入调试窗口。它可以帮助您找到 HTML 中的问题。查看您的页面处于哪种文档模式。如果它处于“怪癖模式”,那么您就有麻烦了。

Quoo说的是真的,在不使用框架的情况下重新考虑您的设计

替代文字
(来源:moveable.com

于 2010-05-04T21:04:04.057 回答
2

您的 HTML 无效,并且已知 IE 会在无效 html 上跳闸,从而导致奇怪的行为。老实说,很难弄清楚代码中发生了什么,因为它非常不标准。您应该熟悉 html 最佳实践 - 列表分开是一个很好的资源 ( http://www.alistapart.com/),w3 (w3.org) 也是如此,您可能会发现他们的验证器很有用 (validator.w3.org) . 首先,您的 html 标签中的任何属性都需要用引号引起来,并且 html 标签应该全部小写。

此外,要定位另一个框架,您的锚标记应如下所示<a href="myurl.html" target="_frameName" />

于 2010-05-04T21:07:13.863 回答
2
<Body>
<Center>

<Base target=lower_frame>

那是你的具体问题。<base>只允许在里面<head>,不能作为一部分<body>。以前版本的 IE 让你摆脱它;IE8 没有。它忽略了错位的基础,因此将链接保留在当前帧上。

但是,您可能会遇到更多奇怪的问题,因为您的标记在各种非常基本的方式中都是无效的,除了框架只是不建议使用之外。

于 2010-05-04T21:32:16.090 回答