鉴于最近对 fb-login-button 组件的更改(大约一周前似乎总是将自定义文本重写为“登录”),您最好的选择是为 Facebook 按钮和触发器创建一个自定义 CSS 类FB.通过 Javascript 登录。这就是我所做的,并且运行良好。
下面是 Facebook 按钮的一些 CSS,它看起来与标准 Facebook 按钮完全一样,并且很容易支持自定义文本:
a.fb-button {
color: #FFF;
display: inline-block;
text-decoration: none;
}
.fb-button {
background: #5F78AB;
background-image: url('http://static.ak.fbcdn.net/rsrc.php/v2/yf/r/S-DbSHszr4D.png'); /*COPY TO YOUR OWN IMAGE STORE*/
background-repeat: no-repeat;
background-position: -1px -81px;
border-top: 1px solid #29447E;
border-right: 1px solid #29447E;
border-bottom: 1px solid #1A356E;
border-left: 1px solid #29447E;
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8A9CC2;
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8A9CC2;
cursor: pointer;
font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
font-size: 13px;
font-weight: bold;
height: 23px;
line-height: 23px;
padding: 0px 5px 0px 30px;
text-align: left;
}
您页面上的元素将是
<a class="fb-button" onClick="fblogin();">Custom Text</a>
然后像这样的JS函数
var fblogin = function() {
FB.login(function(response) {
if (response) {
if (response.authResponse) {
//successful auth
//do things like create account, redirect etc.
} else {
//unsuccessful auth
//do things like notify user etc.
}
},{scope:'email,publish_stream'}); //whatever perms your app needs
};
当然,您需要在页面中包含 fb 根 div 并在此之前初始化 Facebook JS SDK
这是它的外观:
CSS 很酷的一点是,您可以使用它在您的网站上创建其他 Facebook 按钮,以使用熟悉的外观和感觉来处理不受支持的内容(如分享)。您甚至可以创建一些额外的 css 以允许不同大小的按钮。您只需要为背景图像设置不同的背景位置以及不同的字体大小、高度等。