我在Facebook的一个应用程序中使用了FB.getLoginStatus。这在所有浏览器中都工作得很好,包括IE8。但它不适用于IE7。我的代码是:
FB.getLoginStatus(function(response) {
if (response.session) {
alert("logout");
}
else{
FB.Event.subscribe('auth.login', function(response) {
login();
});
alert("login");
}
});有人知道为什么吗?
发布于 2011-02-22 04:26:37
根据http://developers.facebook.com/docs/reference/javascript/fb.init/上的文档,正确的解决方案是在您的web服务器(例如channel.html)上创建一个仅包含以下内容的文件:
<script src="http://connect.facebook.net/en_US/all.js"></script>然后在初始化选项中指定channel.html的绝对URL:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'YOUR APP ID',
channelUrl : 'http://example.com/channel.html' // custom channel
});
</script>为了便于部署,我使用以下公式计算我的channelUrl。
var curLoc = window.location;
curLoc.protocol + "//" + curLoc.hostname + ":" + curLoc.port + "/channel.html"发布于 2014-01-30 23:49:46
目前,此接口(FB.getLoginStatus)在IE7浏览器上不再有效。
看看这里:getLoginStatus not Fired on IE7
如果您尝试在IE7上运行以下页面中的代码,它将不起作用:http://www.fbrell.com/auth/login-and-logout
似乎"channelUrl“修复不再起作用了,IE7对Facebook Javascript SDK的支持也受到了影响。
https://stackoverflow.com/questions/4679610
复制相似问题