Youtube iframe apiを使用していると、Origin http://www.youtube.com でのフレームのブロックに関連する次のコンソールエラーが表示されます。このエラーがchromeコンソールにのみ表示される理由を説明できる人がいるのか、これを防ぐ方法があるのか疑問に思っていましたか?
エラー:
Origin " http://www.youtube.com "のフレームがOrigin " http://youtubetest.appspot.com "のフレームにアクセスできないようにブロックしました。プロトコル、ドメイン、およびポートは一致する必要があります。
JSエラーがあった場合、同様のエラーが発生しました:
Origin " https://www.youtube.com "のフレームがOrigin " http://www.yourdomain.com "のフレームにアクセスできないようにブロックしました。アクセスを要求するフレームのプロトコルは「https」、アクセスされるフレームのプロトコルは「http」です。プロトコル/プロトコルは一致する必要があります。YouTubeでは、ドメイン間で許可するためにCORS(Cross Origin Resource Sharing)が有効になっています。
YouTube iframeタグのhttps://
を削除してみてください?
また、iframeの終了タグを確認することもできます。 iframeタグはシングルトンタグではなく、</iframe>
ではなく/>
で終わる必要があります。
今日、YouTubeが独自の埋め込みコードスニペットツールに入れたプロトコルフリーの「//youtube.com」URLを使用すると、プロトコルマッチングエラーがスローされるようです。 (ため息)これは今週初めにうまくいきました。
Https:を埋め込みURLに追加すると、エラーのスローが停止し、iframe JS APIが機能します。 「Blocked a frame with Origin ...」エラーが引き続きスローされますが、JS APIは期待どおりに機能します。