我试图用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 - 我该怎么办?
我看过我可以添加一个http-header来允许这样的访问,但我无法找到是否可以定义它以允许特定网站(我不想创建一个安全漏洞)
我读了一些关于window.postMessage
的内容,但我想我需要更改双方的代码 - 而且我无法更改Optimizely代码
答案 0 :(得分:1)
您可以使用Cross Origin Resource Sharing允许其他网站通过AJAX下载您的内容(我希望它也适用于您的情况)。在这里,您必须使用标题Access-Control-Allow-Origin
以及您的网站希望提供访问权限的所有域的列表。例如:
Access-Control-Allow-Origin: http://www.example-social-network.com
有关CORS的更多信息,您可以在维基百科上找到文章:https://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing