我正在尝试通过Chrome扩展程序(内容脚本)与facebook API进行通信。 我尝试通过基本的javascript或jQuery加载API,如facebook docs所示。 当前代码如下:
$(document).ready(function() {
var fbdiv = jQuery("<div>", {"id": "fb-root"});
jQuery(document.body).children().first().before(fbdiv);
$.ajax({
url: '//connect.facebook.net/en_US/all.js',
cache: true,
dataType: "script",
success: function(a, b, c) {
console.log("got script");
console.log(window.FB);
window.fbAsyncInit = function() {
console.log("fbAsync called");
console.log(window.FB);
};
}
});
});
结果是console.log(window.FB)调用返回'undefined',并且永远不会调用fbAsyncInit函数。
正确接收all.js资源,响应代码为200或304.我不知道是否正确评估了脚本,因为getScript doc说“脚本加载后会触发回调但不会必须执行。“然而,执行脚本应该调用window.fbAsyncInit(),它永远不会发生。
谢谢,
查理