关于Facebook、twitter、google、pinterest四种分享方法,附带微博、QQ、微信、豆瓣等等

  常用的国外网站分享推过,Facebook、twitter、google、pinterest这四种社交平台最常见,下面就简单介绍一下分享的方法。

  首先,必须使用分享插件,share.js

  获取方法: https://github.com/chenpenggood/share.js

  这有两种分享文件:1、关于Facebook、twitter、google、pinterest四种分享方法, 简洁版,容量小

            

           2、jQuery分享插件jquery.share.js享到QQ、微信、微博、google、in、tweeter等,集合多种分享

            

  本文主要讲解第一种分享插件, 第二种顺带说一下

  下载好第一个share.min.js插件后,使用方法如下:

  

1. 在HTML中先写好标签,如下

导入share.min.js

<script src="../js/share.min.js"><script>

<div class="share-msg">
    <p class="shareBtns share">
        <a data-share="facebook" class="share-facebook icon" href="javascript:;"></a>
        <a data-share="twitter" class="share-twitter icon" href="javascript:;"></a>
        <a data-share="google" class="share-google icon" href="javascript:;"></a>
        <a data-share="pinterest" class="share-pinterest icon" href="javascript:;"></a>
    </p>
</div>

PS: 每个分享的图片是自己根据设计图纸自定义的。

在js文件中, (作者使用了jquery)

$(document.body).on(‘click‘, ‘shareBtns a‘, function(e){
   shareProcess($(this).attr(‘data-share‘));
});

shareProcess: function(className){
   shareText = "Welcome share!",
   shareImg = "https://github.com/chenpenggood/share.js/blob/master/readImg/share.png?raw=true",
   twitterText = "share tool",
   description: "this is a share tool"
   switch(className){
     case "facebook":
     window.share.fackbook.start({
       picture: shareImg,   //注意:新的facebook图片的分享有大变化,这里图片不能生效,下面会结束具体方法
       name: description,
       link: localtion.href, //注意:只能分享当前页面,否则fb抓取到指定页面的信息,这不是你想要的结果
       caption: "web name",
       description: description
     }, function(){
       shareSuccess(‘facebook‘);  //分享成功回调
     });
     break;

     case "twitter":
     window.share.twitter.start({
         link: location.href,
         text: description
     }, function(){
        shareSuccess(‘twiter‘);  //分享成功回调
     });
     break;

     case "google":
     window.share.google.start({
       link: location.href,
       text: description + location.href
     }, function(){
        shareSuccess(‘google‘);  //分享成功回调
     });
     break;

     case "pinterest":
     window.share.pinterest.start({
       link: location.href,
       image: shareImg,
       text: description + location.href
     }, function(){
        shareSuccess(‘pinterest‘);  //分享成功回调
     })
   }
}

 shareScucess: function(shareChannel){
    $.ajax({
      url: "成功回调的api地址",
      type: "get/post",
      dataType: "json",
      data: {
        shareChannel: shareChannel || ‘‘
      },
      success: function(res){
         if(res.code === 2){
           ‘代码块‘
         }
      }
    })
 }
  • 现在说一下facebook的特殊性,facebook的分享只能抓取线上或者是预发布的描述,而且对于图片的抓取必须是线上抓取, 务必保证js中facebook的描述文案与head中一致。
  • 它的抓取的方式是在 head 中:
    <meta property="og:type" content="product" />
    <meta property="og:url" content="www.baibu.com"/>
    <meta property="og:image" content="https://github.com/chenpenggood/share.js/blob/master/readImg/share.png?raw=true" />
    <meta property="og:description" content="this is share tool" />
    <meta property="og:site_name" content="share web" />
    
    <!-- <meta property="fb:app_id" content="100924140245002" />
     <meta property="fb:admins" content="100004662303870" /> -->

附上: facebook抓取调试地址: https://developers.facebook.com/tools/debug/sharing/

  

第二种分享插件使用方法:

1. HTML中导入share.min.css 和 share.min.js

<!-- 禁用 google、设置分享的描述 -->
    <div class="social-share" data-disabled="google" data-description="Share.js - 一键分享到微博,QQ空间,腾讯微博,人人,豆瓣"></div>

 <!-- 设置微信二维码标题 -->
 <div class="social-share" data-wechat-qrcode-title="请打开微信扫一扫"></div>

 <!-- 针对特定站点使用不同的属性(title, url, description,image...) -->
 <div class="social-share" data-weibo-title="这个标题只有的分享到微博时有用,其它标题为全局标题" data-qq-title="分享到QQ时用此标题"></div>

 <!-- 使用: data-initialized="true" 标签或者 initialized 配置项来禁用自动生成icon功能。 -->
 <div class="social-share" data-initialized="true">
     <a href="#" class="social-share-icon icon-weibo"></a>
     <a href="#" class="social-share-icon icon-qq"></a>
     <a href="#" class="social-share-icon icon-qzone"></a>
 </div>

 <!-- 以上a标题会自动加上分享链接(a 标签必须带 icon-NAME 属性,不然分享链接不会自动加上)。 -->

 <!-- 如果你想在分享icon列表中内置一些元素,比如放一个收藏按钮在分享按钮的后面: -->
 <div class="social-share" data-mode="prepend">
     <a href="javascript:;" class="social-share-icon icon-heart"></a>
 </div>
 <!-- 这样,所有的分享图标就会创建在容器的内容前面,反之可以用 append 创建在容器内容后面,当然这是默认的,也不需要这么做。 -->

 <!-- 指定移动设备上显示的图标 -->
 <div class="share-component" data-mobile-sites="weibo,qq,qzone,tencent"></div>
 <!-- 当在手机上打开该页面的时候就只会显示这4个图标了。 -->

  

展示所有配置可选, 通常默认就满足需求,不需在重新配置:(记得导入jquery)

   var $config = {
    ...
   };

   $(‘.social-share‘).share($config);

  url                 : ‘‘, // 网址,默认使用 window.location.href
  source              : ‘‘, // 来源(QQ空间会用到), 默认读取head标签:<meta name="site" content="http://overtrue" />
  title               : ‘‘, // 标题,默认读取 document.title 或者 <meta name="title" content="share.js" />
  description         : ‘‘, // 描述, 默认读取head标签:<meta name="description" content="PHP弱类型的实现原理分析" />
  image               : ‘‘, // 图片, 默认取网页中第一个img标签
  sites               : [‘qzone‘, ‘qq‘, ‘weibo‘,‘wechat‘, ‘douban‘], // 启用的站点
  disabled            : [‘google‘, ‘facebook‘, ‘twitter‘], // 禁用的站点
  wechatQrcodeTitle   : "微信扫一扫:分享", // 微信二维码提示文字
  wechatQrcodeHelper  : ‘<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>‘,

介绍完毕

  

原文地址:https://www.cnblogs.com/cp-cookie/p/8496015.html

时间: 2024-08-24 05:39:06

关于Facebook、twitter、google、pinterest四种分享方法,附带微博、QQ、微信、豆瓣等等的相关文章

由ORACLE_SID想到脚本的四种运行方法

以前学习脚本知道一个概念,关于脚本运行方式的问题,我们熟知的脚本运行方式有以下几种: (1)../script.sh (点斜线脚本) (2).sh script.sh (sh空格脚本) (3).source script.sh (source空格脚本) (4).. script.sh (点空格脚本) 先写个简单的脚本,把执行结果贴在下面,然后分别对这几种脚本运行方式作解释. script.sh内容如下: ------------------------------- #!/bin/bash ec

JAVA中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法. 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现. 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来. 选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组. 插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序.下面我就将他们的实现方法一一详解供大家参考. <1>利用Arrays带有的排序方法快

C#四种深拷贝方法

//四种深拷贝方法 public static T DeepCopyByReflect<T>(T obj) { //如果是字符串或值类型则直接返回 if (obj is string || obj.GetType().IsValueType) return obj; object retval = Activator.CreateInstance(obj.GetType()); FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.

并查集类的c++封装,比较union_find algorithm四种实现方法之间的性能差别

问题描述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构: Find:确定元素属于哪一个子集.它可以被用来确定两个元素是否属于同一子集: Union:将两个子集合并成同一个集合: 实现并查集的关键是实现union-find algorithm, 本文根据常用的四种算法,实现了这个类,具体算法实现请参看维基百科: 制造测试数据集,

数据库的四种操纵方法——增、删、改、查

数据库的四种操纵方法——增.删.改.查 增——一种可视化增加就是在设计页面右键点开已经存在的表 进行内容的增加. 另一种是在查询页面,创建查询在代码界面进行代码添加.书写形式:insert into xxx(zzz,ccc)values('aaa','sss')——insert是插入的意思,into是进哪去,xxx代表要插入的表名,zzz,ccc表示表内的列名,values的意思是‘值’,后面的xxx和ccc是插入所内容的列名.总体的意思就是:在xxx表内的zzz列和ccc列插入aaa和sss

并查集类的c++封装,比較union_find algorithm四种实现方法之间的性能区别

问题描写叙述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构: Find:确定元素属于哪一个子集.它能够被用来确定两个元素是否属于同一子集: Union:将两个子集合并成同一个集合: 实现并查集的关键是实现union-find algorithm, 本文依据经常使用的四种算法,实现了这个类,详细算法实现请參看维基百科: 制造測试

U盘强制拔出丢失数据的恢复方法(U盘写保护的四种解决方法)

● U盘强制拔出丢失数据的恢复方法 U盘从出现以来,小巧便携容量大深受人们的喜爱,不用像云盘一样需要下载,所以重要的文件我们都喜欢用U盘来传递数据,但是很多人使用U盘拔出时都没有使用"弹出U盘"功能,取出过程中电脑正在对U盘读写,这时候拔出很容易造成数据丢失或者导致U盘中的文件损坏无法打开,那么这种情况下我们应该怎么解决呢?下面小编就教大家如何恢复,一起来看看吧. 首先,下载一个数据恢复软件,比较好用的就有[迷你兔数据恢复软件](minitool中文版本),可以恢复U盘中被删除的数据,

Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法

Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误 解决方法1: 注释掉此段代码,即可. 缺点:导致Django项目完全无法防止csrf攻击 解决方法2: 在 views.py文件中 #导入,可以使此次请求忽略csrf校验 from django.views.decorators.csrf import csrf_exempt #在处理函数加此装饰器即可 @csrf_exempt def post(request): na

HashMap的四种遍历方法,及效率比较(简单明了)

https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, String> map = new HashMap<Integer, String>(); for (int i = 0; i < 40000; i++) { map.put(i, "第" + i + "个"); } //循环第一种 long t1 =