我正在将Facebook Like Button添加到我的网站。
我已将以下内容添加到我的aspx页面中:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 'ID',
status: true,
cookie: true,
xfbml: true // parse XFBML
});
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));</script>
</script>
这是html
标记:
xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#" prefix="og: http://ogp.me/ns#"
这就像我一样:
<fb:like send="false" layout="standard" width="350" style="height:22px;" show_faces="false" action="like" colorscheme="light"></fb:like>
我确实为OpenGraph添加了元标记。
在所有浏览器上测试时,它都能正常工作。如果没有登录Facebook,您需要登录以查看该项目,弹出窗口会出现,并在您输入正确的用户名和密码后关闭。
但在IE(9)中会出现一个窗口,在我输入用户名和密码后,它会重定向到此链接:http://www.facebook.com/connect/connect_to_external_page_reload.html
这是一个空白页面,之后没有任何事情发生,它没有关闭,我不喜欢任何项目。
即使我已经在IE上登录Facebook之前点击了类似内容,我仍然可以输入用户名和密码。
我错过了什么吗?
答案 0 :(得分:1)
让我在IE中为我工作的一切花了一整天。 最后,这就是我所做的。
在我的页面开头,我添加了以下内容
<html lang="en" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#">
我添加了facebook喜欢并使用XFBML格式发送按钮(出于某种原因我无法使HTML 5版本工作) 注意:我还必须单独添加它们。出于某种原因,当我没有使用FB时:发送并使用FB:像send =“true”它在IE 10中不起作用。如果你只想要那样不要添加FB:发送行。
<fb:like href="http://www.domain.com" send="false" layout="button_count" width="60" show_faces="false" action="like" font=""></fb:like>
<fb:send href="http://www.domain.com"></fb:send>
我将脚本添加到页面
中<div id="fb-root"></div>`
<script> (function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); </script>
我添加了channelUrl以确保它在IE 8&amp; 9
<script>
window.fbAsyncInit = function () { //fbAsyncInit prevents call of FB.getLoginStatus before the SDK is loaded and/or initialized
FB.init({
appId: "You app ID here bunch of digits",
status: true, // check login status
cookie: true, // enable cookies to allow server to access session,
xfbml: true, // enable XFBML and social plugins
oauth: true, // enable OAuth 2.0
channelUrl: 'http://channel.html' //custom channel
});
};
使用以下内容
创建了Channel.html文件<script src="//connect.facebook.net/en_US/all.js"></script>
答案 1 :(得分:0)
我遇到了同样的问题。我发现在IE9中禁用保护模式设置可以解决问题。您可以在Internet选项上找到它 - &gt;安全 - &gt;互联网 - &gt;启用保护模式复选框。如果有帮助,请告诉我。