我的 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);
}());
该页面从与 FB 应用程序设置中注册的域匹配的域加载到 Android WebView 中。
没有明显的原因,回调不再触发。它昨天才起作用,但今天它不起作用,没有我更改任何代码或应用程序设置。
我在 getLoginStatus 调用之前放置了一个 console.log() 调用,似乎调用本身已到达并执行;我还可以看到一些文件是从 static.ak.facebook.com 加载的。只是没有调用回调。
该应用程序未处于沙盒模式,这似乎已导致其他人出现此行为。
我还应该提到,相同的代码在独立浏览器(桌面和移动)中完美运行。
是什么赋予了?