gpt4 book ai didi

javascript - #xfbml=1 导致问题

转载 作者:行者123 更新时间:2023-11-28 02:47:02 24 4
gpt4 key购买 nike

我的网站上有两种不同的机制,同时使用 xfbml 和 fbjs:

  • 单个条目的 FB:Like 标签
  • 使用 fb connect 登录 facebook 的 FB 对象

我的问题是,当我在页面上包含“all.js”时,登录脚本可以工作,但 fb:like 标记不起作用。

当我包含“all.js#xfbml=1”时,fb:like 标记再次工作,但现在我的 FB 对象未定义,并且我的登录代码不起作用。

我有什么遗漏吗?

预先感谢您提供的任何帮助。

最佳答案

您只需包含一次脚本引用,并在页面加载时调用脚本的 init 即可。您可以将其用于 fb:like 按钮或登录脚本。

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>

关键是将 xfbml 设置为 true(这就是 #xfbml=1 的作用)。如果您没有进行该设置,则类似按钮将不会呈现。

如果您想订阅登录事件,只需在 FB.init() 调用后添加以下脚本:

  FB.Event.subscribe('auth.login', function(response) {
window.location.reload(); // or something else...
});

这里是您的登录脚本,仅当用户单击链接、按钮等时才会触发。

function doLogin() {
FB.login(function(response) {
if (response.session) {
if (response.perms) {
// user is logged in and granted some permissions.
// perms is a comma separated list of granted permissions
} else {
// user is logged in, but did not grant any permissions
}
} else {
// user is not logged in
}
}, {perms:'read_stream,publish_stream,offline_access'});
}

关于javascript - #xfbml=1 导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com