我们在IE8中遇到一个权限被拒绝的错误。facebook图形api

我们在IE8中遇到一个权限被拒绝的错误。facebook图形api,facebook,proxy,fbml,Facebook,Proxy,Fbml,我们在IE8中遇到一个权限被拒绝的错误。它发生在FB.init之后。我们已经尝试了channelUrl修复。我们在尸体后面放了第一个标签。我们已经在脚本和channel.html中尝试了document.domain。我们已经尝试了FB.UIServer.setActiveNode解决方案。 它在IE9、FF、Chrome和Safari中运行良好 <div id="fb-root"></div> <script src="//connect.facebook.n

我们在IE8中遇到一个权限被拒绝的错误。它发生在FB.init之后。我们已经尝试了channelUrl修复。我们在尸体后面放了第一个标签。我们已经在脚本和channel.html中尝试了document.domain。我们已经尝试了FB.UIServer.setActiveNode解决方案。 它在IE9、FF、Chrome和Safari中运行良好

<div id="fb-root"></div>
  <script src="//connect.facebook.net/en_US/all.js"></script>
  <script type="text/javascript">
          var myUserId;
          document.domain = 'XXXX.XXXX.com';

          window.fbAsyncInit = function() {
              FB.init({ appId: 'XXXXXXXXX',
                  status: true,`enter code here`
                  cookie: true,
                  xfbml: true,
                  channelUrl: 'http://XXX.XXXX.com/channel.html'
              });
              FB.UIServer.setActiveNode = function(a, b) { FB.UIServer._active[a.id] = b; } // IE hack to correct FB bug

var-myUserId;
document.domain='XXXX.XXXX.com';
window.fbAsyninit=函数(){
FB.init({appId:'XXXXXXXXX',
状态:true,`在此处输入代码`
曲奇:是的,
xfbml:是的,
频道URL:'http://XXX.XXXX.com/channel.html'
});
FB.UIServer.setActiveNode=函数(a,b){FB.UIServer.\u active[a.id]=b;}//IE黑客修正FB bug

我在facebook fanpage上的tab应用程序的facebook iframe中的IE8中遇到权限被拒绝的错误。有什么办法可以解决这个问题吗?

我建议附加调试器并准确地发布错误发生的位置。如果它与facebook代理相关,则可能是facebook的临时问题

以下几点建议(上文未提及):

1/尝试将FBML添加到html标记:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en">


2/如果您访问的测试服务器可能被视为intranet站点(通常为同一子网),请尝试禁用兼容模式选项。

我建议附加调试器,并在错误发生的确切位置发布。如果与Facebook代理相关,则可能是Facebook的临时问题

以下几点建议(上文未提及):

1/尝试将FBML添加到html标记:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en">


2/如果您正在访问可能被视为intranet站点(通常为同一子网)的测试服务器,请尝试禁用兼容模式选项。

这可能是因为您在当前iframe为https时重定向到HTTP页面


iframe的协议可以是https,可能是因为内部重定向,即使Facebook页面是http。

这可能是因为您重定向到http页面,而当前iframe是https

iframe的协议可以是https,可能是因为内部重定向,即使Facebook页面是http。

这对我来说很有效:

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; 
};
如图所示,这对我很有效:

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; 
};
如图所示