如何使用我的自定义图像更改facebook登录按钮
我的脚本有如下代码如何使用我的自定义图像更改facebook登录按钮,facebook,facebook-login,Facebook,Facebook Login,我的脚本有如下代码 echo''。 __(“使用Facebook登录,'wdfb')。' ",; 它使用facebook的默认设置。但我想使用我的自定义facebook connect图像。有人能帮我吗?在谷歌上找到一个网站,解释了一些变化,据页面作者称fb不允许自定义按钮。 不幸的是,这违反了Facebook的开发者政策,该政策规定: 你不能绕过我们对Facebook核心功能的预期限制 FacebookConnect按钮是用FBML呈现的,这意味着它只是按照Facebook允许的方式呈现
echo''。
__(“使用Facebook登录,'wdfb')。'
",;
它使用facebook的默认设置。但我想使用我的自定义facebook connect图像。有人能帮我吗?在谷歌上找到一个网站,解释了一些变化,据页面作者称fb不允许自定义按钮。 不幸的是,这违反了Facebook的开发者政策,该政策规定: 你不能绕过我们对Facebook核心功能的预期限制 FacebookConnect按钮是用FBML呈现的,这意味着它只是按照Facebook允许的方式呈现
您使用的方法是从Facebook Javascript代码中呈现登录按钮。但是,您可以编写自己的Javascript代码函数来模拟该功能。下面是如何做到这一点-
onclick
方法,该方法实际上可以完成真正的工作
window.fbAsyninit=function(){
FB.init({
appId:'你的应用程序ID',
真的,
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
};
函数fb_login(){
FB.登录(功能(响应){
if(response.authResponse){
log('欢迎!获取您的信息…);
//console.log(响应);//转储完整信息
access\u token=response.authResponse.accessToken;//获取访问令牌
user\u id=response.authResponse.userID;//获取FB UID
FB.api('/me',函数(响应){
user\u email=response.email;//获取用户电子邮件
//您可以将这些数据存储到数据库中
});
}否则{
//用户点击取消按钮
log('用户取消登录或未完全授权');
}
}, {
范围:“公共_档案,电子邮件”
});
}
(功能(){
var e=document.createElement('script');
e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js';
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
}());
请注意,上述功能已经过全面测试,可以正常工作。你只需要输入你的facebook应用程序ID,它就会工作。实际上,只有使用CSS才可能,但是,你用来替换的图像必须与原始facebook登录按钮的大小相同。幸运的是,Facebook提供了不同大小的按钮 来自facebook: 大小-不同大小的按钮:小、中、大、xlarge-最大 默认值为中等。 将登录iframe不透明度设置为0,并在父div中显示背景图像
.fb_iframe_widget iframe {
opacity: 0;
}
.fb_iframe_widget {
background-image: url(another-button.png);
background-repeat: no-repeat;
}
如果您使用的图像比原始facebook按钮大,则图像中超出原始按钮宽度和高度的部分将不可单击。我是通过调用一个简单的
function fb_login() {
FB.login( function() {}, { scope: 'email,public_profile' } );
}
我不知道facebook是否能够阻止这种规避,但现在我可以使用任何我想称之为fb\u login
的HTML或图像,而且效果很好
参考资料:但是为什么要使用?如果你看我链接的网站,你会发现允许进行一些修改,字体大小等,但不允许更改图像或其他内容。阅读这个网站,你会更好地理解,甚至学会如何改变它。很明显,在我发表之前,我已经阅读了你链接的那篇文章。mashable的自定义facebook connect图像。我确信他们使用的是自定义图像,而不是fbml代码。这是他们的按钮,他们的按钮非常类似于正常的fb按钮,所以它可能是允许的,我不知道。但他们这样做的方式只是一个图像链接到facebook登录,就像你做任何按钮链接一样。他们没有改变API中的任何内容。这是个好话题。那么,是否允许使用自定义按钮?不相似,但不同?可能重复!这太棒了,至少在chrome中很有魅力。。有些浏览器有问题吗?我还得测试一下。很好的回答我注意到在步骤1中有
href=“#”
。如果我想跳转到另一个链接怎么办?我尝试了href=“www.google.com”
,但它不起作用。您好,您可以在收到用户的电子邮件后使用window.location进行操作。在您计划从页面上不同类型的锚定标记动态获取href的值之前,为“href”属性替换“#”不会有任何效果。但这是一个单独的用例,我得到的错误是fb root为null,而fb不是define。请回复以上代码对我也不起作用。经过一番挖掘,我终于找到了工作。这是我必须做的。调用图形时,需要显式调用所需的字段:FB.api('/me?locale=en_-US&fields=id、name、email、first_-name、last_-name',function(response){}
将发布流
更改为公共_-profile
,使其工作