YouTube ビデオを HTML5 に埋め込む方法について読んだすべての方法を試しましたが、どのブラウザーでも機能しません。私が得る最高のものは、ウェブサイトが見つからないという四角です。古い埋め込みコードを使用してみました、iframe を使用してみました...新しいビデオ タグも使用してみました...コードのそれぞれを独自の個別の部分にダンプしました (つまり、 div またはそのようなものに含まれています)...それが含まれているのは本体自体だけです...また、これらの 3 つのメソッドすべてを div のような何らかのコンテナーに入れることで、反対のことも試しました。1つに含まれているかどうかがプレイアビリティに影響するわけではありませんが、すべてを試しています...なぜうまくいかないのかわかりません
1 に答える
あなたが試したことがうまくいかなかったことを示しているわけではありませんが、私は今日精神的に気分が悪いので、ここにワイルドストライクがあります:
YouTube は現在、次のような埋め込みリンクを提供しています。
<iframe width="640" height="360"
src="//www.youtube.com/embed/sLAEg5aTXAE?feature=player_detailpage"
frameborder="0" allowfullscreen></iframe>
これについて珍しいのは、URL (IFrame タグの「src」属性内) がプロトコルを指定していないことです。
上記の src 属性の形式は、プロトコル相対 URL と呼ばれる相対 URL の一種であり、ページが http:// または https:// プロトコルでアクセスされているかどうかに関係なく、embed タグを機能させることができます。(1 つのページにこれらを混在させることはできません)
ただし、これが間違っているところだと思いますが、HTML5 ファイルを Web サーバー経由ではなくローカルで開くと、file:// URL が含まれます。この奇妙なプロトコル相対 URL を含む相対 URL は、常に現在のページの場所から指定されていないビットを取得するため、計算されている完全な URL は無効です。
file://www.youtube.com/embed/sLAEg5aTXAE?feature=player_detailpage
修正するには、src 属性を変更してプロトコルを指定し、相対 URL を file:// と http:// プロトコルの両方で提供されるページから機能する絶対 URL に変更します。
<iframe width="640" height="360"
src="http://www.youtube.com/embed/sLAEg5aTXAE?feature=player_detailpage"
frameborder="0" allowfullscreen></iframe>
欠点は、https 経由で配信されるページにこれを配置できないことです。
長期的には、ファイル URL ではなく実際の Web サーバーからテストする習慣を身に付ける必要があります。ローカルにインストールされたテスト サーバーの場合、WAMP/MAMP は簡単で一般的な選択肢です。