web-dev-qa-db-ja.com

YouTubeビデオの埋め込み「X-Frame-Optionsにより表示が禁止されているため、ドキュメントの表示を拒否しました」

ユーザーがビデオへのリンクを提供したら、YouTubeビデオをページに埋め込みます。

<iframe width=\'560\' height=\'315\' src='http://www.youtube.com/watch?v=<video id>&amp;output=embed' frameborder=\'0\' allowfullscreen></iframe>

しかし、これを追加しようとすると、このエラーが発生します。クロムでページを検査した後、コンソールタブにこのエラーが表示されます

「表示がX-Frame-Optionsによって禁止されているため、ドキュメントの表示を拒否しました」

IEFirefoxでもビデオを見ることができません

私も追加してみました

 header('X-Frame-Options:Allow-From http://www.youtube.com'); 
 header('X-Frame-Options:GOFORIT);
 &amp;output=embed to the url

他の投稿で特定のソリューションを読んだ後。

しかし、私はまだ同じエラーを受け取ります。

また、YouTubeにはビデオを表示するためのオブジェクトの埋め込み方法がありますが、すでにYouTubeはビデオを埋め込むための古い方法として作成しています。そこで、ページにビデオを埋め込む新しいiframeメソッドを使用したいと思います。

問題が見られる

  • Firefox 11
  • Chrome 18.0
  • IE 8

誰もがこの問題に直面しましたか?

56
Srikan

Iframeのソースとして設定しているページ(Youtube /watch page)は、ページに埋め込まれません。強制的に実行させることはできません。

埋め込む正しいURLは次の形式です。

http://www.youtube.com/embed/oHg5SJYRHA0
177
duskwuff

YouTubeからビデオリンクをコピーする場合:"https://www.youtube.com/watch?v=Fva3fgKmu3o"

-「ウォッチ」を/ embed /に置き換えます

-「?v =」を削除

最後の例:"https://www.youtube.com/embed/Fva3fgKmu3o"

2
David Hahn

キーワード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>
1
Pawan Verma

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スレッド にあります。

0
Ulysse BN