ユーザーがビデオへのリンクを提供したら、YouTubeビデオをページに埋め込みます。
<iframe width=\'560\' height=\'315\' src='http://www.youtube.com/watch?v=<video id>&output=embed' frameborder=\'0\' allowfullscreen></iframe>
しかし、これを追加しようとすると、このエラーが発生します。クロムでページを検査した後、コンソールタブにこのエラーが表示されます
「表示がX-Frame-Optionsによって禁止されているため、ドキュメントの表示を拒否しました」
IE
とFirefox
でもビデオを見ることができません
私も追加してみました
header('X-Frame-Options:Allow-From http://www.youtube.com');
header('X-Frame-Options:GOFORIT);
&output=embed to the url
他の投稿で特定のソリューションを読んだ後。
しかし、私はまだ同じエラーを受け取ります。
また、YouTubeにはビデオを表示するためのオブジェクトの埋め込み方法がありますが、すでにYouTubeはビデオを埋め込むための古い方法として作成しています。そこで、ページにビデオを埋め込む新しいiframeメソッドを使用したいと思います。
問題が見られる
誰もがこの問題に直面しましたか?
Iframeのソースとして設定しているページ(Youtube /watch
page)は、ページに埋め込まれません。強制的に実行させることはできません。
埋め込む正しいURLは次の形式です。
http://www.youtube.com/embed/oHg5SJYRHA0
YouTubeからビデオリンクをコピーする場合:"https://www.youtube.com/watch?v=Fva3fgKmu3o"
-「ウォッチ」を/ embed /に置き換えます
-「?v =」を削除
最後の例:"https://www.youtube.com/embed/Fva3fgKmu3o"
キーワードwatch?v =をembedに置き換え、ライブURLを次のように変更します。
$url_string="https://www.youtube.com/watch?v=H1pTkatn6sI";
$url= str_replace('watch?v=','embed/', $url_string);
そして、それをiframeに埋め込みます
<iframe id="player" type="text/html" width="640" height="390" src="{{ $url }}" frameborder="0"></iframe>
TL; DR:Cookieを削除する必要がある場合があります。
それでも/v
または/embed
のいずれでも機能しない場合、不正な形式のCookieが原因で、クライアントに問題がある可能性があります。このエラーは、ほとんどまたはすべてのYouTubeページで400 HTTPエラーが原因で表示されることもあります。
この問題を修正するには、YouTube Cookieを削除する必要があります。
Chromeでは、アドレスバーに
chrome://settings/siteData
と入力し、Search cookies
ボックスにyoutube
と入力します。次に、youtubeのCookieの2つのグループが表示されます。すべて削除できます。OR小さな矢印をクリックすると、個々のCookie名が表示され、特定のすべての
gsScrollPos-####
のようなもの。
この回答のソースと詳細は このRedditスレッド にあります。