javascript - 用于谷歌浏览器扩展的 Facebook JavaScript API

标签 javascript facebook facebook-graph-api google-chrome-extension facebook-javascript-sdk

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

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

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

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

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

最佳答案

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

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

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

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

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

var k = 'http';

希望这对您有所帮助。

关于javascript - 用于谷歌浏览器扩展的 Facebook JavaScript API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779239/

相关文章:

facebook - Meteor:accounts-ui 如何更改配置?

jquery - 通过应用程序 ID 和 Phonegap 的 Facebook 共享器 URL

facebook - FB 选项卡应用程序在新窗口中打开,而不是在 iframe 中打开 [Firefox 6]

iphone - Facebook SDK 集成 - 使用 View Controller 而不是应用程序委托(delegate)

facebook-graph-api - WhatsApp API - 检索电话号码 ID 和访问 token

flutter - 如何获取用户的 Facebook 用户名或 ID?

Javascript 创建动态对象类

javascript - 我如何在 JavaScript 中按每第 n 个字符拆分字符串?

javascript - Ext JS 4.2.1 + Sencha CMD - ItemSelector 按钮 CSS 未加载

javascript - 我的气泡图远远超过了 maxValue,低于 minValue