В доступе отказано в доступе в all.js - PullRequest
12 голосов
/ 02 сентября 2011

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

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

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

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

Спасибо Udham

Ответы [ 5 ]

10 голосов
/ 22 сентября 2011

Попробуйте это. Это сработало для меня, может помочь кому-то.

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

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

7 голосов
/ 14 сентября 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

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

1 голос
/ 19 декабря 2011

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

1 голос
/ 14 декабря 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; 
};
1 голос
/ 27 октября 2011

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

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

...