4

我做了一个 chrome 扩展来自动喜欢特定的页面帖子。用一个简单的弹出控制器和后台线程来处理 fb api 交互

我无法使用官方示例方法将 facebook js api 加载到扩展页面中。

脚本jssdk已加载并由 chrome 开发人员工具检查执行。

但是 window.FB 不是由加载的脚本定义的!!!

  • 我还手动添加脚本标签。
  • 它同时出现了后台线程和弹出窗口。
  • 如果使用 iframe 注入加载页面,它将成功加载 window.FB 并弹出登录/身份验证窗口。但它有一个跨域问题!
  • div#fb-root 是存在的。
  • menifest.jsoncontent_security_policy
4

1 回答 1

0

我没有解决方案,但这可能会引导您朝着正确的方向前进。

问题可能出在扩展文档的 document.location 上。对于在扩展范围内运行的 javascript,协议是“chrome-extension://”,而许多 JS 库需要“http”或“https”。

从 jssdk 文件中的以下行来看,FB 似乎也做出了这个假设:

var k = typeof j == 'undefined' ? location.protocol.replace(':', '') : j ? 'https' : 'http';

尝试调试这些情况,将上面的行替换为以下内容:

var k = 'http';

希望这可以帮助。

于 2014-03-29T08:43:31.330 回答