前期准备

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. test case VS test scenario

    ---恢复内容开始--- 1. test case: how to test --如何测试 test scenario: what to  be tested  --测试什么 2. test scen ...

  2. echo不换行的实现

    1. echo的参数中, -e表示开启转义, /c表示不换行: echo -e "please input a value:/c" 2. -n不换行: echo -n " ...

  3. lenet-5

    https://blog.csdn.net/happyorg/article/details/78274066 深度学习 CNN卷积神经网络 LeNet-5详解 2017年10月18日 16:04:3 ...

  4. 251. Flatten 2D Vector 平铺二维矩阵

    [抄题]: Implement an iterator to flatten a 2d vector. Example: Input: 2d vector = [ [1,2], [3], [4,5,6 ...

  5. node.js中 express + multer 处理文件上传

    multer中间件,可以很方便的结合express处理用户表单上传的文件. 一.安装multer npm install multer 二.处理单个文件上传 const express = requi ...

  6. unable to bind listening socket for address '127.0.0.1:9090': Address already in use (98)

    unable to bind listening socket for address '127.0.0.1:9090': Address already in use (98) php-fpm 启动 ...

  7. SQL中GROUP BY语句与HAVING语句的使用

    GROUP BY语句,经过研究和练习,终于明白如何使用了,在此记录一下同时添加了一个自己举的小例子,通过写这篇文章来加深下自己学习的效果,还能和大家分享下,同时也方便以后查阅,一举多得 一.GROUP ...

  8. 目录命令(tree)

    TREE 命令: // 描述: 以图形方式显示驱动器中路径或磁盘的目录结构. // 语法: tree [<Drive>:][<Path>] [/f] [/a] // 参数: / ...

  9. Linux学习笔记:Tomcat安装与使用

    Tomcat是一个Servlet容器服务器,用java实现的. 目录结构 Tomcat的安装也很简单,从官网下载安装包.解压后的tomcat目录 apache-tomcat-7.0.92 下的子目录为 ...

  10. Collision (hdu-5114

    题意:你有一个以(0, 0), (x, 0), (0, y), (x, y)为边界点的四边形,给你两个点从(x1, y1), (x2, y2)的点发射,以(1, 1)的速度走,碰到边界会反射,问你最终 ...