web-dev-qa-db-ja.com

HTML5でフレームを使用する方法はありますか?

学校の場合、ウェブサイトを作成する必要があります。くだらない古いいまいましいfmlフレームを使用する必要があります。私はすでにこれについて先生に不満を言っていますが、成功していません:(

HTML5を使用したいのですが、フレームは非推奨のようです。 XHTMLまたはHTML 4を本当に使用する必要がありますか?フレームを使用してページでHTML5を検証する回避策はありますか?

42
user142019

さて、検証ルールに従うことが重要である理由についてのエッセイで質問に答える例はたくさんあります。また、反逆者になってルールを破り、理由を文書化する必要がある場合もあると言いました。

この例では、 フレームセットはHTML5でも動作します であることがわかります。ただし、コードをダウンロードし、上部にHTML5 Doctypeを追加する必要がありました。しかし、フレームセット要素はまだ認識されており、望ましい結果が達成されました。

したがって、フレームセットを使用することは完全に不合理であり、教授/教師の指示に従ってこれを使用する必要があることを知って、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のフレームセットサポートを完全に削除すると、1〜2年後にはなくなる可能性が高いことに注意してください。あなたが正しいことを知って、あなたの教師/教授がちょうど成績を取得するために求めることをしてください:)

UPDATE:

トップレベルの親ドキュメントは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>
27
jmort253

あなたのクラスは終わったと思いますが、プロのコーディングでは、これを教訓にしましょう。

  • 「非推奨」とは、「使用を避け、将来削除される」ことを意味します
  • 廃止されたものはまだ機能します-サポートや将来の保証を期待しないでください
  • 要件がそれを必要とし、あなたがそれを取り除けない場合、単に非推奨の構成を使用してください。
    • 本当に心配な場合は、側で代替実装を開発し、避けられない障害に備えて準備を整えてください
    • 余分な作業を今すぐ請求してください。廃止された機能をリクエストすることで、彼らはあなたに作業を倍増するよう求めています。とにかく再び表示されるので、フロントロードすることもできます。
    • 失敗が起こったら、これがあなたが恐れていたことであることを関係者に知らせてください。あなたはそれを準備しましたが、それは時間がかかります
    • ソリューションをできるだけ早く展開します(バグがあります)
    • 過度のダウンタイムを防止するための担当者を獲得します。
37
Fordi

多分、いくつかのAJAXページコンテンツインジェクションを代替手段として使用できますが、あなたの教師がフレームの除去を拒否する理由を回避することはできません。

また、HTML5を個人的に使用したい具体的な理由はありますか?

しかし、そうでない場合、<iframe>sはまだ存在しています。

4
jerluc

このためには、XHTMLまたはHTML 4.01に頼らなければなりません。 iframeはまだHTML5にありますが、ユーザー向けのコンテンツを埋め込むために使用することはお勧めしません。

また、フレームは90年代後半から最先端技術ではないことを先生に伝えてください。おそらく歴史的な理由を除いて、彼らはどんな種類の教育にもまったく場所を持ちません。

2
You

私は継続教育の商用サイトで15年以上フレームを使用しています。フレームを使用すると、ナビゲーションフレームはターゲットフィーチャーを使用してメインフレームに素材をロードし、ナビゲーターフレームはそのままにします。さらに、Perlスクリプトは、出力を同じフレームに戻すフレーム形式から非常にうまく機能します。私はフレームが大好きで、フレームを使い続けます。 CSSは実際の使用には非常に複雑です。 IE、Safari、Chrome、FirefoxでHTML5のフレームを使用しても問題はありません。

1
user4668867

フレームは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にアップグレードしたいと考えています。

1
Keith