4

我做了一个Chrome扩展,以自动喜欢特定的页面帖子。 用一个简单的弹出控制器和后台线程来处理fb api交互式谷歌Chrome扩展的Facebook JavaScript API

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

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

但window.FB没有被脚本加载定义!!!

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

回答

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';

希望这会有所帮助。