У нас та же проблема.
Похоже, в коде Facebook есть ошибка.Внутри SDK -
var i = "fbNativeReady";
a = {
onready: function(a) {
__p && __p();
if (!h.nativeApp()) {
g.error("FB.Native.onready only works when the page is rendered in a WebView of the native Facebook app. Test if this is the case calling FB.UA.nativeApp()");
return
}
window.__fbNative && !this.nativeReady && ES("Object", "assign", !1, this, window.__fbNative);
if (this.nativeReady) a();
else {
var b = function b(c) {
window.removeEventListener(i, b), this.onready(a)
};
window.addEventListener(i, b, !1)
}
}
};
Вы можете видеть, что прослушиватель событий "b" не связан, поэтому, когда отправляется событие "fbNativeReady", прослушиватель вызывается без контекста, что означает "это"is window, и в нем нет функции "onready".
Привязка b к "this" может решить эту проблему.
Возможным решением может быть запуск этого кода после определенной задержки, чтобы избежать отправки события fbNativeReady после загрузки кода