已添加JavaScript SDK允许域名仍遇JSSDK Unknown Host domain错误求助
解决Google Sites自定义域名下Facebook JSSDK的「Unknown Host domain」错误
你遇到的问题核心是Google Sites自定义域名站点的底层运行域名逻辑和表面显示不一致,导致Facebook JSSDK的域名校验失败。试试下面几个解决办法:
锁定自定义域名作为唯一发布入口:进入Google Sites的「发布」设置,把默认发布地址设为你的自定义域名,关闭sites.google.com的发布选项。这样无论怎么访问,页面都会保持在你的自定义域名下,减少域名跳转带来的校验问题。
补充完整的允许域名列表:在Facebook应用控制台的「Allowed Domains for the JavaScript SDK」里,同时添加:
- 你的完整自定义域名(比如
https://your-custom-domain.com,不要带末尾斜杠) - 通配符形式的Google Sites域名:
https://*.sites.google.com,覆盖所有可能的Google Sites子域名
- 你的完整自定义域名(比如
手动指定SDK校验域名:初始化Facebook JSSDK时,额外添加
domain参数,强制SDK使用你的自定义域名做校验,绕开Google Sites的底层域名检测。示例代码:window.fbAsyncInit = function() { FB.init({ appId : '你的应用ID', cookie : true, xfbml : true, version : 'v18.0', // 替换为你当前使用的SDK版本 domain : 'your-custom-domain.com' // 替换成你的自定义域名 }); };清除缓存后测试:浏览器缓存和Facebook的域名校验缓存可能导致新设置不生效,清除浏览器的缓存、Cookie后,重新打开页面测试。
内容的提问来源于stack exchange,提问作者Pieter le Roux
相关产品推荐
相关产品推荐

