2

Optimizely (A/B テストなどを作成できるツールの名前) で Web サイトをテストしようとしています。このツールは、私のページを iframe 内に読み込もうとすると、JS エラーが発生します: blocked a frame with origin "...optimizely..." from accessing a frame with origin "...my site..." protocols domains and ports must match.

どうにかしてサイトへのアクセスと JS の実行を最適化できるようにしたいのですが、どうすればよいですか?

  1. そのようなアクセスを許可するためにhttpヘッダーを追加できることを読みましたが、特定のサイトを許可するように定義できるかどうかわかりません(セキュリティ違反を作成したくありません)

  2. 何かを読んだwindow.postMessageが、両側でコードを変更する必要があると思う - そして、Optimizely コードを変更することはできない

4

1 に答える 1

1

Cross Origin Resource Sharingを使用して、他のサイトが AJAX 経由でコンテンツをダウンロードできるようにすることができます (あなたのケースでも機能することを願っています)。Access-Control-Allow-Originここでは、サイトがアクセスを提供したいすべてのドメインのリストでヘッダーを使用する必要があります。例:

Access-Control-Allow-Origin: http://www.example-social-network.com

CORS の詳細については、Wikipedia の記事を参照してください: https://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

于 2014-04-07T21:05:47.190 に答える