如何使用框架创建有效的 HTML5?

新手上路,请多包涵

对于学校,我必须制作一个 必须 使用框架的网站。我向老师投诉没有成功。

我想使用 HTML5,但似乎不推荐使用框架。我是否需要使用 XHTML、HTML 4 或是否有一些解决方法可以使我的页面使用框架有效的 HTML5?

原文由 user142019 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 264
2 个回答

现在,有很多我用论文回答问题的例子,说明为什么遵循验证规则很重要。我还说过,有时你只需要成为一个叛逆者并打破规则,并记录原因。

您可以在此示例中看到 框架集在 HTML5 中仍然有效。但是,我必须下载代码并在顶部添加 HTML5 文档类型。但是frameset元素还是被识别出来了,达到了预期的效果。

因此,知道使用框架集是完全荒谬的,并且知道您必须按照教授/老师的指示使用它,您可以只处理 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。验证器没有抱怨框架集是非法的,也没有抱怨视频元素。

索引.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>

视频.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>

原文由 jamesmortensen 发布,翻译遵循 CC BY-SA 3.0 许可协议

我知道你的课结束了,但在专业编码中,让这成为一堂课:

  • “弃用”意味着“避免使用;它将在未来被删除”

  • 弃用的东西仍然有效 - 只是不要指望支持或面向未来

  • 如果需求需要它,并且您无法通过协商解决它,则只需使用已弃用的构造。

    • 如果您真的担心,请在旁边开发替代实现并为不可避免的失败做好准备
    • 现在为额外的工作收费。通过请求弃用的功能,他们要求您加倍工作。无论如何你都会再次看到它,所以不妨提前加载它。
    • 当失败发生时,让相关方知道这是你所担心的;你为此做好了准备,但这需要一些时间
    • 尽快部署您的解决方案(会有错误)
    • 获得代表以防止过度停机。

原文由 Fordi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题