Facebook JavaScript API适用于谷歌浏览器扩展程序

4
我制作了一个Chrome扩展程序,可以自动点赞特定页面的帖子。使用简单的弹出式控制器和后台线程来处理fb api交互。
我无法使用官方示例方法将Facebook js api加载到扩展页面中。
脚本jssdk已通过Chrome开发者工具加载和执行检查。
但是由加载的脚本未定义window.FB!
  • 我也手动添加了脚本标签。
  • 它同时出现在后台线程和弹出窗口中。
  • 如果使用iframe注入以加载页面,则会成功加载window.FB并弹出登录/验证窗口。但是它存在跨域问题!
  • div#fb-root存在。
  • menifest.jsoncontent_security_policy
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';

希望这能有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接