2

我正在尝试使用 Optimizely(允许创建 A/B 测试等的工具的名称)测试我的网站。此工具尝试将我的页面加载到 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-header 以允许此类访问,但我找不到是否可以将其定义为允许特定站点(我不想造成安全漏洞)

  2. 我读了一些关于window.postMessage但我想我需要更改双方的代码 - 而且我将无法更改 Optimizely 代码

4

1 回答 1

1

您可以使用跨域资源共享来允许其他站点通过 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 回答