前期准备

1,注册一次Facebook账号,新建一个应用取到应用id

2,引进Facebook的SDK到页面中: 在js中引进以下代码,初始化

 // facebook
window.fbAsyncInit = function() {
FB.init({
appId: 'your-app-id',//这里为你自己的应用id
cookie: true,
xfbml: true,
version: 'v2.8',
});
};
(function(d, s, id) {
let 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/sdk.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

登录

登录有两种方法,第一种使用sdk的方法登录,第二种则直接使用Facebook的自带插件,下面进行详细介绍

一,利用 JavaScript SDK 部署网页版“Facebook 登录”

1,在html页面中增加一个按钮点击

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="common.js"></script>
</head>
<body>
<button onclick="login()">登录</button>
</body>
</html>

2,在js中引进login函数(用window.FB.getLoginStatus函数判断登录状态)

 window.login = function(){
window.FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert("您已经登录~")
}else{
window.FB.login();
}
});
};

二,利用插件配置器

1,进入站点,在下面图片所示中进行配置,点击“获取代码”按钮。

2,在HTML页面中引进js代码(注意:如果你前面已经引进上述的Facebook的SDK到页面中,下面的js可以不用再次引用)

 <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 = 'https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v3.2&appId=your-app-id&autoLogAppEvents=1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-login-button" data-max-rows="1" data-size="large" data-button-type="continue_with" data-show-faces="false" data-auto-logout-link="true" data-use-continue-as="false"></div>

分享

分享也有有两种方法,第一种使用sdk的方法登录,第二种则直接使用Facebook的自带插件,下面进行详细介绍

一,利用 JavaScript SDK 部署网页版“Facebook 登录”

1,在html页面中加入分享按钮

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="common.js"></script>
</head>
<body>
<button onclick="share()">分享</button>
</body>
</html>

2,在js中引进share函数

 window.share = function(){
window.FB.ui({
method: 'share',
href: "your-share-link",
}, function() {
});
};

下面介绍一些参数

1)href:分享的页面。需要注意的是在此网址的页面上必须添加开放图谱元标签,自定义分享的动态。 具体如下所示:在分享的html页面head里面加上以下代码(需要注意的是这里的图片链接不能用https,否则显示不出来,具体原因不明)

     <meta property="fb:app_id" content="your-app-id" />
<meta property="og:url" content="" />
<meta property="og:type" content="website" />
<!--分享的标题-->
<meta property="og:title" content="《神命:天選之人》--事情登錄得好康,分享抽mycard!" />
<!--分享的描述-->
<meta property="og:description" content="《神命:天選之人》強勢來襲!化形天神,舞動幹戚;神魔之戰,生死一念;神寵坐騎,飛天遁地;驚鴻一瞥,女神相隨!參與事前登錄,好康滿滿,更有機會贏Mycard!" />
<!--分享的图片-->
<meta property="og:image" content="http://www.99trillion.com/test20181214/share.ad3f2854.jpg" />

2)mobile_iframe:移动网页分享对话框也能够以 iFrame窗口的形式显示在内容的顶部。完成分享操作流程后,该对话框将消失,而用户将回到之前所在的内容位置,以便轻松继续阅读内容。要让移动网页分享对话框显示在 iframe 窗口中,请将属性 mobile_iframe 设置为 true。

 window.share = function(){
window.FB.ui({
method: 'share',
mobile_iframe: true,
href: "your-share-link",
}, function() {
});
};

二,利用插件配置器

1,进入站点,在下面图片所示中进行配置,点击“获取代码”按钮。

2,在HTML页面中引进js代码(注意:如果你前面已经引进上述的Facebook的SDK到页面中,下面的js可以不用再次引用) 其中,href为分享的页面

 <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 = 'https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v3.2&appId=your-app-id&autoLogAppEvents=1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script> <div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button_count" data-size="small" data-mobile-iframe="true"><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&amp;src=sdkpreparse" class="fb-xfbml-parse-ignore">分享</a></div>

三,分享调试

进入站点,输入上面你分享的地址,可以刷新你更换的信息,如果分享不成功,也可以看到分享不成功的原因。

点赞

利用插件配置器

1,进入站点,在下面图片所示中进行配置,点击“获取代码”按钮。

2,在HTML页面中引进js代码(注意:如果你前面已经引进上述的Facebook的SDK到页面中,下面的js可以不用再次引用) 其中,data-href为点赞的页面。

 <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 = 'https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v3.2&appId=2145131702440053&autoLogAppEvents=1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script> <div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="true"></div>

注意项

点赞功能需要在应用中进行申请,申请的条件有页面中需要登录按钮,并且该登录按钮可用。申请通过后,该点赞按钮才会在页面中显示。

总结

上述为自己在工作中常用的一些Facebook的功能,在此借个地方做个总结。

github代码点击这里

Facebook的一些基本操作(网页版)的更多相关文章

  1. 利用 JavaScript SDK 部署网页版“Facebook 登录”

    facebook开发者平台https://developers.facebook.com/ 利用 JavaScript SDK 部署网页版“Facebook 登录” 通过采用 Javascript 版 ...

  2. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  3. jQuery实践-别踩白块儿网页版

    ▓▓▓▓▓▓ 大致介绍 终于结束了考试,放假回家了.这次的别踩白块儿网页版要比之前做的 jQuery实践-网页版2048小游戏 要简单一点,基本的思路都差不多. 预览:别踩白块网页版 这篇博客并不是详 ...

  4. Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版

    Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版 阅读:  评论:  作者:Rybby  日期:  来源:rybby.com Adobe 家的 Il ...

  5. Rafy 框架-发布网页版用户手册

    前段时间把 Rafy 的用户手册由 CHM 格式转换为了网页格式,而且发布到了 github.io 上,即方便文档的实时更新,也方便大家查看. Rafy 用户手册网页版地址: http://zgynh ...

  6. 微信网页版APP - 网页微信客户端电脑版体验

    微信网页版很早就出来了,解决了很多人上班不能玩手机的问题.微信电脑版-网页微信客户端,直接安装在桌面的微信网页版,免去了开浏览器的麻烦.双击就启动了,和其他的应用程序一样:运行过程中可以隐藏在桌面右下 ...

  7. 微信收藏导出到PC端的方法,不要再傻傻的用网页版转换了!

    微信里面收藏了很多有意思的东西,想转到PC上保存起来,以防万一哪天链接失效了. 另外PC上面看,屏幕大一些,也爽一些. 以前的方法是需要通过网页版来传输一下,现在微信有了PC客户端,很方便,直接安装P ...

  8. 原生js写的贪吃蛇网页版游戏特效

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <bo ...

  9. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

随机推荐

  1. HTML前期学习总结

    一.基本结构<!DOCTYPE html> //设置字符编码集格式<html> //<head> //网页头部 <title></title> ...

  2. HDU6446 Tree and Permutation(树上DP)

    传送门:点我 Tree and Permutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (J ...

  3. Python+Selenium学习--控制浏览器控制条

    场景 有时候web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素,这个时候就要控制页面滚动条的拖动,但滚动条并非页面上的元素,可以借助JavaScrip ...

  4. Swift 循环引用

    - 循环引用的weak用法 // ** {} 中所有 self 都是弱引用,注意需要解包        // 1.类似于 OC 中的 __weak typeof(self) weakSelf = se ...

  5. Mybatis配置问题解决Invalid bound statement (not found)

    首先这个异常的原因是系统根据Mapper类的方法名找不到对应的映射文件. 网上也搜索了到了类似的文章,一般可以从以下几个点排查: mapper.xml的namespace要写所映射接口的全称类名,而且 ...

  6. python 数据库操作类

    #安装PyMySQL:pip3 install PyMySQL   #!/usr/bin/python3   #coding=utf-8   #数据库操作类     from  datetime  i ...

  7. mysql 的 select into 带来的错误数据问题

    在写存储过程的时候,会有一个被忽视的问题: 比如 select user_name into @user_name from user where id = 1; 会出现 其实没有 id =1 这条数 ...

  8. Mad Libs游戏1

    简单的输入输出 输入代码 name1=input('请输入姓名:') name2=input('请输入一个句子:') name3=input('请输入一个地点:') name4=input('请输入一 ...

  9. 【Mysql】事务的四种特性和隔离级别

    四种特性: 原子性(Atomicity):事务里所有操作视为一个整理,要么全部完成,要么全回滚. 一致性(Consistency):操作前后,数据库内数据逻辑上一致.比如:1w元转账给不同的人,转出去 ...

  10. kbmmw中向服务器端传递对象的一种简单方式

    运行环境:delphi 10.2+kbmmw 5.6.20 在kbmmw 的老版本中,要向服务器传送一个本地的对象,一般都需要进行一些转换,例如通过序列化的方式. 在新版的kbmmw中这一切都变的很简 ...