Ошибка отказа в разрешении в all.js

Я использую all.js для реализации facebook. Я использовал кнопку facebook на странице регистрации. войдя через facebook, я получаю имя пользователя и адрес электронной почты пользователя facebook в поля на странице регистрации. Он отлично работает в Chrome, Safari и Firefox, но выдает ошибку в IE8.

ошибка в строке all.js 22

{FB.UIServer._loadedNodes[a.id]=b;if(a.params)b.fbCallID=a.id;

Пожалуйста, помогите мне, если кто-нибудь знает, почему возникает эта проблема.

Спасибо, Удхам.


person Attri    schedule 02.09.2011    source источник
comment
Множество подобных вопросов: 1, 2, 3, 4 — я проголосовал за то, чтобы закрыть другие вопросы, чтобы сделать этот вопрос каноническим.   -  person a paid nerd    schedule 19.09.2011
comment
@apaidnerd Из того, что я могу сказать ... есть несколько причин, по которым вы можете получить ошибку отказа в разрешении в файле all.js - голосование за закрытие всех, кроме одного, похоже на голосование за закрытие всех вопросов C, которые включают переполнение буфера - ошибка отказа в разрешении является симптомом... а не фактической ошибкой   -  person Jiaaro    schedule 19.09.2011
comment
@Jiaaro - ваша аналогия неверна. Те, за которые я проголосовал, связаны с одной конкретной ошибкой Facebook.   -  person a paid nerd    schedule 19.09.2011


Ответы (5)


Попробуйте это. У меня сработало, может кому поможет.

FB.UIServer.setLoadedNode = function (a, b){FB.UIServer._loadedNodes[a.id] = b; }

В идеале прикрепите отладчик и посмотрите, какой метод ломается, и взломайте его.

person rakesh    schedule 22.09.2011
comment
Это должно быть помечено как ответ - это сработало для меня и множества других - person Andrey; 18.10.2011

Это известная ошибка: http://bugs.developers.facebook.net/show_bug.cgi?id=19042 Он установлен как ЗАКРЫТО, ИСПРАВЛЕНО, но многие пользователи все еще сообщают об ошибке в области комментариев.

Взлом предлагается в комментарии № 19:

FB.init({
....
....
});
FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug

Это сработало для некоторых людей. Я должен сказать, что это не сработало для меня, но я подумал, что стоит упомянуть.

person imbrizi    schedule 13.09.2011
comment
@apaidnerd тот факт, что этот хак работает для некоторых, а не для других, предполагает, что существуют разные основные причины возникновения этой ошибки ... вам не кажется? - person Jiaaro; 20.09.2011
comment
Обновление: ошибка 19042 была обновлена ​​в системе отслеживания ошибок Facebook до ЕЩЕ НЕ ИСПРАВЛЕНО. Так что они в курсе и, надеюсь, работают над этим. - person imbrizi; 29.09.2011
comment
Есть две ошибки Facebook: 19042 и 20168. Оба имеют схожие симптомы, но разные хаки для исправления (один исправляет setActiveNode, другой исправляет setLoadedNode). - person gmcnaughton; 02.10.2011

Я только что столкнулся с этой (или подобной проблемой). Мой был в строке 22 all.js, char 3160, сразу после document.documentElement.style.display='none'; Это была ошибка отказа в разрешении.

В моем случае это произошло из-за того, что channelUrl использовал другой протокол (https), чем iframe моего приложения, который загружался под (http). Я попробовал //mydomain.com/channel.html, но это дало мне другую ошибку. Я решил это, динамически выбирая http/https для channelUrl при создании html.

person Greg    schedule 27.10.2011

Я нашел решение. Уже разместил ответ здесь https://stackoverflow.com/a/8504794/287604, но для отчаянных быстрое решение :

FB.init({
    appId:        'xxxxx',
    appSecret:    'xxxxxxxxx',
    status:        true
    cookie:        true
});

// this code solves the issue
FB.UIServer.setLoadedNode = function (a, b) { 
FB.UIServer._loadedNodes[a.id] = b; 
};
person Thiago Ganzarolli    schedule 14.12.2011

Я все еще борюсь с этим, но странный обходной путь, который я только что заметил, заключается в том, что при использовании fb:login-button при установке атрибута show-faces на «true» он внезапно работает нормально. Я пробовал 2 кнопки fb:login рядом друг с другом, и кнопка с отображением лиц, для которой установлено значение false или не включена, каждый раз возвращала ошибку.

person Brent    schedule 18.12.2011