Web分享——Twitter、Facebook、Google plus、QQ空间、微信、微博

时间:2024-03-07 20:32:08

分享到微信

1、 微信内分享

不知有没有发现,自己的网站链接有时候分享到微信群中,发到朋友圈,右下角的缩略图没了。之前以为是没有集成JSSDK,但做了一个微信公众号的项目,集成了JSSDK,发现有的页面按照之前在body的最上方添加一张隐藏的默认图片形式也不行了,只有使用JSSDK中的分享方法,主动设置分享icon和标题才有作用。

网上查找才发现,微信6.5.5版本调整了分享规则,针对公众号的网页分享,必须接入微信认证公众号!
https://mp.weixin.qq.com/s/hAdtKl2i4ilyo9HxT1kXyw

所以没有接入JSSDK的网站想要在微信中分享自定义标题和icon是没有希望了。
想要在微信中传播自定义标题和缩略图就要乖乖的集成JSSDK,按照规则分享吧:)

2、从浏览器分享到微信

在浏览器打开后,点击浏览器自带的分享图标,选择微信,这种方式获取缩略图的方法:
需要在head头部添加Open Graph Meta Data

<meta property="og:type" content="website" />
<meta property="og:title" content="页面标题">
<meta property="og:description" content="页面描述">
<meta property="og:image" content="http://www.example.com/img/thumbnail.png">
<meta property="og:url" content="http://www.example.com/">

其中og:image是完整的URL,最好不要太大,毕竟是缩略图
亲测这种方式可以实现从手机浏览器分享到微信可定制缩略图和title。

注意
坑还在后面,如果分享的自定义的title中包含现金提现红包等这类关键字是分享不出去的,坑啊……所以我们改为繁体字之后就可以了,如果一定要用这类字就先用繁体字代替吧,要不然就换成别的吧。

分享到 Facebook & Google Plus & Twitter & QQ空间 & 微博

web页面想要分享到Facebook、Twitter和微博,简单的是需要在按钮写个a标签,将分享链接自定义,点击之后就可以跳到一个它们提供的外部分享页面,分享了。

Google Plus

<a href="https://plus.google.com/share?hl=填上你的标题&url=http://example.com" target="_blank">G+</a>

Weibo

web微博分享直接在按钮上添加个a标签,直接调用微博开放出来的分享链接就可以了。标题和url都可以根据自己的需求填写。

<a href="http://service.weibo.com/share/share.php?appkey=你的appkey&title=填上你的标题&url=http://example.com" target="_blank">Weibo</a>

QQ空间

<a href="http://connect.qq.com/widget/shareqq/index.html?title=填上你的标题&url=http://example.com">QQ空间</>

Facebook

web页面分享到Facebook也可以直接使用链接跳转。

<a href="https://www.facebook.com/sharer.php?title=填上你的标题&u=http://example.com" target="_blank">Facebook</a>

但是Facebook自定义title不管用,它自己有抓取目标页面代码的一套规则,对html中的<title/>和<meta/>标签进行分析。一般来说<title/>会作为要分享的标题,<meta name="description" content="">会作为分享的正文。这是最基本的两个抓取点。

注意:抓取的内容是从服务端返回的html代码,由js操作后的html抓取不到。

所以想要Facebook分享能有图片和页面的标题,需要提前将meta中的og定义好,注意og:image中图片(完整url)的尺寸大小,最小不要小于200 x 200px,太小了也抓取不到。还有两种尺寸的图片大小,1200 x 630px 或者 600 x 315 根据自己的需要生成吧,而且图片需要在国外能很好的加载出来,我们使用的是七牛的链接,发现七牛的图片链接在国外支持的不太好,有时候会访问失败。
Facebook share best practices

如果是简单的web分享,使用上面的分享链接就可以了,Facebook ID也没有必要去申请,如果想要在本页面中弹出弹窗分享链接,可以申请个Facebook app创建一个APP ID,要求不高一个链接完全就可以了。

没有抓取到设计的图片和标题,检测一下图片的链接和og中设置title和image对不对,记住js修改的抓取不到哦,其他的应该就没什么问题了

Twitter

web分享到Twitter,也可以直接使用分享链接,直接放到代码中就可以了。

<a href="https://twitter.com/share?text=填上你的标题&url=http://example.com" target="_blank">Twitter</a>

如果想要使用Twitter分享带图片的链接,生成Twitter Cards的形式,需要在meta中添加图片的大小,官方文档Twitter cards

<meta name="twitter:card" content="summary"></meta>

同样cards上的title、描述和图片也是抓取og中定义的title、description和image,提前在meta中定义好。

注意
Twitter也是只能抓取服务端返回的html,后来用js修改的meta抓取不到。


Facebook分享调试工具
https://developers.facebook.com/tools/debug/sharing/


参考链接
web分享到Facebook、Twitter

微信分享没缩略图
注意:在body上添加图片已经失效。

微信分享没有缩略图-JSSDK集成

Facebook & Twitter分享meta tag规则定义
What You Need to Know About Open Graph Meta Tag……



作者:SunnyYang1357
链接:https://www.jianshu.com/p/e2884dfdbfc4
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。