пятница, ноября 11, 2011

Гребанный IE и ошибка facebook connect

подключил  facebook connect
гребанный IE орет что есть ошибка:
SCRIPT70: Permission denied
all.js, line 22 character 4321


и подсвечивал в дебаггере строчку:
b.fbCallID=a.id;

в методе:
setLoadedNode:function(a,b){FB.UIServer._loadedNodes[a.id]=b;if(a.params)b.fbCallID=a.id;} 

решение нашел здесь:
http://stackoverflow.com/questions/7280007/permission-denied-error-in-all-js

нечитая добавил эту строчку:

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

непомогло

и только потом заметил что ошибка в другом методе, добавил:

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

все заработало, боюсь трогать :)

полный код:
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'APP_ID', // App ID
      //channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      oauth      : true, // enable OAuth 2.0
      xfbml      : true  // parse XFBML
    });
    FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug
    FB.UIServer.setLoadedNode = function (a,b){FB.UIServer._loadedNodes[a.id] = b;} // IE hack to correct FB bug
    // Additional initialization code here
  };

Комментариев нет: