【问题标题】:Why are the framesets not loading in the page?为什么框架集没有加载到页面中?
【发布时间】:2015-01-07 10:08:09
【问题描述】:

这是我用于页面的代码:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        <title>This page illustrates frame sets</title>
        </head>
        <body>
            <frameset rows="30%,*,20%">
                <frame name="one" src="styledform.html" />
                <frame name="two" src="index.html" />
                <frame name="three" src="form.html" />
            </frameset>
        </body>
</html>

html 文件styledform.htmlindex.htmlform.html 都与我上面显示的源代码文件位于同一文件夹中。

当我尝试在 Google Chrome 浏览器中打开上述链接时,我看到一个空白页面。 错误是什么?

【问题讨论】:

  • 您的 DOCTYPE 行中的双引号似乎无效
  • 您可能在某个地方找到了一个非常古老的教程,或者您只是老派;)无论如何,我真的建议您不要使用框架集。还有许多其他方法可以分隔内容块,其中包括使用脚本语言的部分,或使用 AJAX 加载内容。框架集在当前的 html 规范中已经过时,并且永远不会返回。

标签: html css frameset


【解决方案1】:

您的文档中有许多a validator 会为您识别的错误。

导致您所问问题的原因是框架集文档必须具有&lt;frameset&gt; 元素而不是 &lt;body&gt; 元素而不是内部一个。

当浏览器遇到&lt;body&gt; 开始标记时,它会生成一个常规的HTML 文档,然后将&lt;frameset&gt; 视为无效而丢弃。

也就是说,不要使用框架。有better alternatives

【讨论】:

    【解决方案2】:

    尝试更改您的doctype。有正确的定义

    • HTML 4.01 框架集

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
      
    • XHTML 1.0 框架集

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多