在HTML5中使用框架的任何方式?

时间:2011-01-30 22:34:01

标签: html5 frames

对于学校我必须建立一个网站,它必须使用那些糟糕的老该死的框架。我已经向老师抱怨过这个问题但没有任何成功:(

我想使用HTML5,但似乎不推荐使用框架。我真的需要使用XHTML或HTML 4吗?是否有一些解决办法使我的页面使用框架验证HTML5?

6 个答案:

答案 0 :(得分:36)

我知道你的课程结束了,但在专业编码方面,让这成为一个教训:

  • “弃用”是指“避免使用;将来会被删除”
  • 不推荐的东西仍然有用 - 只是不要指望支持或面向未来
  • 如果要求需要,并且您无法协商,请使用已弃用的构造
    • 如果你真的很担心,那就开发替代实施方案并为不可避免的失败做好准备
    • 现在为额外的工作收费。通过请求弃用的功能,他们要求您将工作量翻倍。无论如何你都会再次看到它,所以不妨前面加载它。
    • 当失败发生时,让感兴趣的一方知道这是你所担心的;你准备好了,但这需要一些时间
    • 尽快部署解决方案(会有错误)
    • 获得代表以防止过度停机。

答案 1 :(得分:27)

现在,我有很多例子可以回答关于为什么遵循验证规则很重要的问题。我还说过,有时你只需要成为反叛者并违反规则,并记录原因。

您可以在此示例中看到framesets do work in HTML5 still。但是,我必须下载代码并在顶部添加HTML5文档类型。但框架集元素仍然被识别,并且实现了期望的结果。

因此,知道使用框架集是完全荒谬的,并且知道你必须按照教授/教师的指示使用它,你可以只处理W3C验证器中的单个验证错误并使用HTML5视频元素以及不推荐使用的框架集元素。

<!DOCTYPE html>
<html>
    <head>
    </head>
    <!-- frameset is deprecated in html5, but it still works. -->
    <frameset framespacing="0" rows="150,*" frameborder="0" noresize>
        <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top">
        <frame name="main" src="http://www.google.com" target="main">
    </frameset>
</html>

请记住,如果它是针对学校的项目,一旦浏览器供应商完全删除对HTML5的框架集支持,很可能不会在一两年内出现这种情况。只要知道你是对的,只要做你的老师/教授要求获得的成绩:)

<强>更新

顶层父文档使用XHTML,框架使用HTML5。验证者没有抱怨框架集是非法的,并且没有抱怨视频元素。

<强>的index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
    <head>
    </head>
    <frameset framespacing="0" rows="150,*" frameborder="0" noresize>
        <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top">
        <frame name="main" src="video.html" target="main">
    </frameset>
</html>

<强> video.html

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <div id="player-container">
            <div class="arrow"></div>
            <div class="player">

                <video id="vid1" width="480" height="267" 
                    poster="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb480.jpg"
                    durationHint="33" controls>
                    <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb_trailer_iphone.m4v" />

                    <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb400p.ogv" />

                </video>

        </div>
    </body>
</html>

答案 2 :(得分:4)

也许可以使用一些AJAX页面内容注入作为替代方案,但我仍然无法解决为什么你的老师会拒绝删除网站的框架。

此外,您个人想要我们HTML5的具体原因是什么?

但如果没有,我相信<iframe>仍然存在。

答案 3 :(得分:2)

为此必须使用XHTML或HTML 4.01。虽然HTML5中仍然存在iframe,但建议不要使用它来嵌入适合用户的内容。

并且一定要告诉你的老师,自九十年代末以来,框架并不是最先进的。除了可能由于历史原因之外,它们根本没有任何形式的教育。

答案 4 :(得分:1)

HTML5中没有弃用框架,但在XHTML 1.1 Strict和2.0中已弃用,但仍保留在XHTML Transitional中并在HTML5中返回。另外here是一篇关于使用CSS来模仿没有帧的帧的有趣文章。我刚刚在IE 8,FF 3,Opera 11,Safari 5,Chrome 8中进行了测试。我喜欢框架,但他们确实有问题,特别是搜索引擎,书签和打印以及CSS,你可以创建打印或仅显示内容。我希望升级Alex的XHTML / CSS框架而不使用HTML5 / CSS3的框架解决方案。

答案 5 :(得分:1)

我在我的继续教育商业网站上使用了超过15年的框架。框架允许导航框架使用目标特征将材料加载到主框架中,同时保持导航框架不变。此外,Perl脚本从将输出返回到同一帧的帧形式运行得很好。我爱框架并将继续使用它们。 CSS对于实际使用来说太复杂了。使用带有IE,Safari,Chrome或Firefox的HTML5框架时,我没有遇到任何问题。