如何删除X框架选项响应头,允许应用程序iframed

我原来的问题是…我得到的Facebook对话框错误: An error ocurred. Please try again later. An error ocurred. Please try again later.

解决这个问题唯一的办法是安装铬扩展…

忽略X-Frame标题( https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe )

所以我怀疑这是由于浏览器的内容政策..

testing:铬和safari

操作系统: mac osx 10.10

服务器: localhost / nodejs

我尝试通过安装browser-policy包,然后安装来解决这个问题…

服务器/ policy.js

 Meteor.startup(function () { BrowserPolicy.framing.allowAll(); BrowserPolicy.content.allowInlineScripts(); BrowserPolicy.content.allowEval(); BrowserPolicy.content.allowInlineStyles(); BrowserPolicy.content.allowDataUrlForAll(); BrowserPolicy.content.allowSameOriginForAll(); }); BrowserPolicy.framing.allowAll(); BrowserPolicy.content.allowInlineScripts(); BrowserPolicy.content.allowEval(); BrowserPolicy.content.allowInlineStyles(); BrowserPolicy.content.allowDataUrlForAll(); BrowserPolicy.content.allowSameOriginForAll(); 

但是我只是想出另一个问题:由于违反内容安全政策,所有外部资源(字体,JavaScript的Facebook的SDK等)无法加载..

概要

我只需要放弃X框架选项响应头,允许通过Facebook iframed,要么使用浏览器策略或不… …当然,不要强迫用户安装任何扩展名…

任何帮助将不胜感激…谢谢你,

您可以将到达服务器的请求的响应头设置为以下值

“X-Frame-Options”,“允许来自SAMEDOMAIN,www.facebook.com/MyFBSite”

你可以通过filter来设置这个头文件