Bra*_*son 6 asp.net asp.net-mvc facebook internet-explorer-8
更新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]
Run Code Online (Sandbox Code Playgroud)
警报不会弹出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>
Run Code Online (Sandbox Code Playgroud)
再次,这在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>
Run Code Online (Sandbox Code Playgroud)
5,如果我关闭该窗口并在应用程序窗口中键入我的凭据,则会使用FBConnect按钮重新加载页面.
正如我所说,我在FF3中获得了预期的行为,但不是IE8.我甚至尝试过IE8的兼容模式,但这也不起作用.任何人都有任何关于发生了什么的线索?
我的HTML标记如下所示:
所以我知道这不是问题.
我遇到了同样的问题 - 确保在主页上设置了HTML命名空间:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)
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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5743 次 |
| 最近记录: |