我的HTML页面中的脚本标记中包含以下代码:
window.fbAsyncInit = function () {
if (FB != null) {
FB.init({
appId: 'myAppID',
status: true,
cookie: true,
xfbml: true,
oauth: true
});
FB.getLoginStatus(function (response) {
console.log("callback");
}, true);
}
};
(function () {
var e = document.createElement('script'); e.async = true;
var protocol = "http:";
if (document.location.protocol == "https:")
protocol = "https:";
e.src = protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
该页面在一个Android WebView中从一个与FB的应用程序设置中已注册的域匹配的域中加载。
由于没有明显原因,回调不再发生。它只在昨天工作,但今天它不起作用,没有我更改任何代码或应用程序设置。
我在getLoginStatus调用之前调用了一个console.log()调用,似乎已经到达并执行了调用本身;我也可以看到一些文件是从static.ak.facebook.com加载的。只是没有调用回调。
应用程序在沙盒模式下不,这似乎导致了其他人的这种行为。
我还应该提一下,相同的代码可以在独立的浏览器(桌面和移动设备)中完美运行。
是什么给出了?