asp.net – IE8 Win7 Facebook Connect问题

前端之家收集整理的这篇文章主要介绍了asp.net – IE8 Win7 Facebook Connect问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新4/8/09 – 我进入了一个新的一周,没有任何进展,也没有来自Facebook论坛的答案.在那里没有一个回应,这是非常令人失望的.我也无法弄清楚如何在这个问题上给予赏金,但我真的非常希望能够解决这个问题.

我看了很多帖子,看看之前是否发布过,但事实并非如此.这是简短的版本:

我将通过示例FB Connect教程(v1),并且无法在Win7上的IE8中使其工作.它在Win7上的FF3上按预期工作.

长版:

我很惊讶事情没有用,因为我几乎复制并粘贴了内容.我通过alert()javascript调用跳过了这一点,所以我把它放进去看看解析器是否达到了这个目的.我把以下代码放入:

[my raw html]
Or use,<fb:login-button length="long" onlogin="alert('yo!!!');"></fb:login-button>
[/my raw html]

警报不会弹出IE8.它适用于FF.

当我改回调用update_user_Box()时,我的HTML看起来像:

Or use,<fb:login-button length="long" onlogin="update_user_Box();"></fb:login-button>

<script type="text/javascript">
    function update_user_Box() {
        var user_Box = document.getElementById("user");
        user_Box.innerHTML =
            "<span>"
            + "<fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile_pic>"
            + "Welcome,<fb:name uid='loggedinuser' useyou='false'></fb:name>."
            + "You are signed in."
            + "</span>"

        FB.XFBML.Host.parseDomTree();
    }

    FB.init("23e24c73Feed7ca0f6afd876575842de","../../Connect/xd_receiver.htm",{ "ifUserConnected": update_user_Box });
</script>

再次,这在FF3中工作就好了.我的照片显示了一切.它实际上让我更加不高兴它在FF3中工作而不是完全没有工作的情况.

以下是IE8中见证的行为:

>当我点击FBConnect按钮时.弹出javascript窗口并加载正确的登录页面
>焦点更改回主窗口(与我的应用程序一起)
> IE8主窗口(我单击连接按钮的窗口)现在显示了一个facebook登录页面.
>当我将凭据输入FB javascript窗口时,页面会加载一个空白文档
页面的URL:http://localhost:55994/Connect/xd_receiver.htm?fb_login&fname=_opener&session=%7B%22session_key%22%3A%223.A4DpHk4nrKHooB7K_Q6EiA__.86400.1238796000-623225%22%2C%22uid%22%3A%22623225%22%2C%22expires%22%3A1238796000%2C%22secret%22%3A%22HtjtJS_xg8dX7TR7lLggew__%22%2C%22sig%22%3A%22ae12c0f98d4567612b70861314d42fbb%22%7D

查看该页面的来源:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
</body>
</html>

5,如果我关闭该窗口并在应用程序窗口中键入我的凭据,则会使用FBConnect按钮重新加载页面.

正如我所说,我在FF3中获得了预期的行为,但不是IE8.我甚至尝试过IE8的兼容模式,但这也不起作用.任何人都有任何关于发生了什么的线索?

我的HTML标记如下所示:

所以我知道这不是问题.

解决方法

我遇到了同样的问题 – 确保在主页上设置了HTML命名空间:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">

http://forum.developers.facebook.com/viewtopic.php?id=23412

另外,我做了一些自举以防止出现空错误

FB.Bootstrap.requireFeatures(["Connect"],function() 
{
    FB.init("--api-key--","domain/xd_receiver.htm");
    FB.Connect.ifUserConnected(your_function_here);
});

猜你在找的asp.Net相关文章