我制作了一个 chrome 扩展来自动喜欢特定的页面帖子。
用一个简单的弹出控制器和后台线程来处理fb api交互
我无法使用官方示例方法将 facebook js api 加载到扩展页面中。
剧本jssdk https://connect.facebook.net/en_US/all.js已由 Chrome 开发者工具加载并执行检查。
但是window.FB不是由加载的脚本定义的!
- 我还手动添加脚本标签。
- 它出现了后台线程和弹出窗口。
- 如果使用 iframe 注入加载页面,它将成功加载 window.FB 并弹出登录/验证窗口。但它有跨域问题!
- div#fb-root 存在。
-
menifest.json has content_security_policy
- 脚本-src'自我'https://connect.facebook.net https://connect.facebook.net;对象-src'自我'
我没有解决方案,但这可能会引导您走向正确的方向。
问题可能出在扩展文档的 document.location 上。对于在扩展范围内运行的 javascript,协议是“chrome-extension://”,而许多 JS 库需要“http”或“https”。
从 jssdk 文件中的以下行来看,FB 似乎也做出了这个假设:
var k = typeof j == 'undefined' ? location.protocol.replace(':', '') : j ? 'https' : 'http';
尝试调试这些情况,将上面的行替换为以下内容:
var k = 'http';
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)