我可能做错了几件事,因为我是网络编程的新手,但这里尝试解决我遇到的一些问题,然后在下面编写代码。
仅供参考,我在 Dreamweaver 中完全在本地工作,只需按 f11 或在浏览器中进行测试。除了频道文件,我没有上传任何内容到服务器,所以如果这是主要问题,请告诉我。
对于频道文件,我只有一个完全空的文件(不包括 html、body 等),就在下面一行。
<script src="//connect.facebook.net/en_US/all.js"></script>
这就是我所需要的吗?为了显示此按钮,我是否必须将所有 index.html 和 .css 等与频道文件放在同一位置?
下面是我正在使用的代码,下面是用于放置的 css。当我在浏览器中运行测试时,没有出现蓝色 FB 按钮。
<html>
<head>
<title>My Facebook Login Page</title>
<link href="fbstyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '[hidden]', // App ID
channelUrl : 'http://mysite/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div class="fb-login-button">Login with Facebook</div>
</body>
</html>
这里的 CSS 对在屏幕上移动上面的“用 facebook 登录”文本没有任何作用。我所看到的只是在左上角上面写着上述内容的常规文本。没有蓝色 fb 按钮
@charset "utf-8";
/* CSS Document */
*
{
margin: 0;
}
body
{
background-color: #FFF
}
#fb-login-button
{
position: relative;
float: right;
}
再次从 Purusottam 的评论中编辑下面的新代码 ,请原谅我的错误,因为我是一个非常新的程序员。
蓝色的 facebook 登录按钮仍然没有显示左上角的“使用 facebook 登录”文本:见附图。
再次,我在这里完全在本地工作..我是否需要将所有文件都放在服务器上才能显示此按钮?
<html>
<head>
<title>My Facebook Login Page</title>
<link href="fbstyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'hidden', // App ID
channelUrl : 'http://mysite.net/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true});
};
// Load the SDK Asynchronously
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
<div class="fb-login-button" show-faces="true" width="200" max-rows="5">Login with Facebook</div>
<script>
FB.login(function(response)
{
if (response.authResponse)
{
//login success
}
else
{
alert('User cancelled login or did not fully authorize.');
}
}, {scope: 'permissions that app needs'})
</script>
</body>
这是当前的结果: