1

WordPress を使用しており、YouTube ビデオを表示するためにjQuery fancyBoxを使用していますが、次のエラーが発生します。

XMLHttpRequest cannot load http://www.youtube.com/embed/L9szn1QQfas?autoplay=1. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

私はjQuery codefooter.phpに以下を追加しました

$(document).ready(function() {
    $(".fancybox").fancybox();
});

私の投稿内に以下のhtmlコードを追加しました。

<a class="fancybox fancybox.iframe" href="http://www.youtube.com/embed/L9szn1QQfas?autoplay=1">
    <img class="alignleft size-thumbnail wp-image-583" alt="small-screen-youtube" src="http://localhost/example/wp-content/uploads/2013/10/small-screen-youtube-150x150.png" width="150" height="150" />
</a>

この問題は私を殺している:(

アイデアや提案はありますか?ありがとう。

4

2 に答える 2

9
<a class="fancybox fancybox.iframe" href="http://www.youtube.com/embed/L9szn1QQfas?autoplay=1">
<img class="alignleft size-thumbnail wp-image-583" alt="small-screen-youtube" src="http://localhost/example/wp-content/uploads/2013/10/small-screen-youtube-150x150.png" width="150" height="150" />
</a>

これを修正するために必要なのは、「fancybox.iframe」を「fancybox iframe」に変更することだけです-ドット(。)を削除してください。

于 2013-11-05T02:51:07.647 に答える
0

ブラウザの同一生成元ポリシーにより、サービスへのリクエストが失敗しています。http://www.youtube.com/http://localhostのリソースにアクセスしようとしている間、ローカル サーバーは にあります。これらは両方とも異なるドメインにあります。だからうまくいかない。

これに対処する方法は、 CORS仕様の一部であるJSONP または CORS ヘッダー (Access-Control-Allow-Originおよびを使用) を使用することです。Access-Control-Allow-Methods

Access-Control-Allow-Origin の使用

Access-Control-Allow-Origin応答にヘッダーを設定します。

Access-Control-Allow-Origin: *

上記により、任意のリソースがサービスのクロスドメインを使用できるようになります。構成方法を参照してくださいAccess-Control-AllowMDN の記事

于 2013-10-19T06:53:38.683 に答える