Facebook JS SDK加载报错:X-Frame-Options设为deny致点赞组件无法加载
Facebook点赞按钮X-Frame-Options报错解决办法
问题根源
这个报错不是你的代码配置错了,是Facebook的安全策略限制——它明确禁止第三方网站用iframe加载plugins/like/connect这类核心交互资源。
常见原因和解决办法
- 别用自定义iframe包裹点赞按钮:如果你把官方生成的点赞按钮代码放进了自己的iframe里,直接移到页面主文档里就行,不要额外套iframe。
- 检查SDK加载顺序:确保
fb-rootdiv在SDK脚本前面,SDK要异步加载,正确的代码顺序参考:<div id="fb-root"></div> <script async defer crossorigin="anonymous" src="https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v19.0&appId=你的APPID&autoLogAppEvents=1" nonce="YOUR_NONCE_VALUE"></script> - 核对APPID是否正确:不管是
FB.init里还是SDK脚本参数中的appId,必须是你在Facebook开发者平台创建的、已绑定当前域名的应用ID,ID错误会触发安全限制报错。 - 确认域名已验证:登录Facebook开发者后台,检查你的网站域名是否已添加到应用的“域名”白名单,且完成了域名验证,未验证的域名会被限制加载相关资源。
额外提醒
- 不要尝试修改X-Frame-Options头,这是Facebook服务器端设置的,第三方无法更改。
- 直接使用官方代码生成器生成点赞按钮代码,避免手动修改结构导致的兼容问题。
内容的提问来源于stack exchange,提问作者Rodrigo Libraga
相关产品推荐
相关产品推荐

