加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – IE8 Win7 Facebook Connect问题

发布时间:2020-12-15 21:05:40 所属栏目:asp.Net 来源:网络整理
导读:更新4/8/09 – 我进入了一个新的一周,没有任何进展,也没有来自Facebook论坛的答案.在那里没有一个回应,这是非常令人失望的.我也无法弄清楚如何在这个问题上给予赏金,但我真的非常希望能够解决这个问题. 我看了很多帖子,看看之前是否发布过,但事实并非如此.这
更新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);
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读