前端页面分享功能的实现

近日的一个项目中有一个分享功能 而这一块是前端常使用的一个部分 对于前端网页 有很多别人做好的可以提供给我们使用

首先分享要考虑到各个浏览器的适配 这样就很麻烦 微信的分享只能进入app手动操作 其他的倒是差不多

好了开始正文
我找了一下网上前辈的资料 有几个路子供大家选择

方式1 JiaThis

链接: http://www.jiathis.com/.

方式2 NativeShare

这是分享按钮

<button onclick="call()">通用分享</button>
<button onclick="call('wechatFriend')">微信好友</button>
<button onclick="call('wechatTimeline')">朋友圈</button>
<button onclick="call('qqFriend')">QQ</button>
<button onclick="call('qZone')">QQ空间</button>
<button onclick="call('weibo')">微博</button>

这是js

!function(e,t){
   "object"==typeof exports&&"object"==typeof module?module.exports=t():
"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?
exports["NativeShare.js"]=t():e["NativeShare.js"]=t()}(this,function()
{
   return function(e){
   function t(r){
   if(n[r])return n[r].exports;var o=n[r]=
{
   i:r,l:!1,exports:{
   }};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}
var n={
   };return t.m=e,t.c=n,t.d=function(e,n,r){
   t.o(e,n)||Object.defineProperty
(e,n,{
   configurable:!1,enumerable:!0,get:r})},t.n=function(e){
   var n=e&&e.__esModule?
function(){
   return e.default}:function(){
   return e};return t.d(n,"a",n),n},
t.o=function(e,t){
   return Object.prototype.hasOwnProperty.call(e,t)},
t.p="",t(t.s=0)}([function(e,t,n){
   "use strict";function r(){
   }
function o(e){
   var t=arguments.length>1&&void 0!==arguments[1]?
arguments[1]:r,n=document.getElementsByTagName("script")[0],
o=document.createElement("script");o.src=e,o.async=!0,n.parentNode.insertBefore(o,n),
o.οnlοad=t}function i(e,t){
   if(null==e)throw new TypeError("Cannot convert undefined 
or null to object");for(var n=Object(e),r=1;r<arguments.length;r++){
   
var o=arguments[r];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)
&&(n[i]=o[i])}return n}function a(e){
   if(se)location.href=e;else{
   var
 t=document.createElement("iframe");t.style.display="none",
 t.src=e,document.body.appendChild(t),setTimeout(function()
 {
   t&&t.parentNode&&t.parentNode.removeChild(t)},2e3)}}function c(e)
 {
   var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[];
 for(var r in e)t?n.push(r+"="+encodeURIComponent(e[r])):n.push(r+"="+e[r]);
 return n.join("&")}function u(e){
   var t=document.createElement("a");
 return t.href=e,t.hostname}function l(e){
   Oe?Oe.content
 =e:document.head.insertAdjacentHTML("beforeend",'<meta name="description" content
 ="'+e+'">')}function f(e){
   je?je.href=e:document.head.insertAdjacentHTML
 ("beforeend",'<link rel="shortcut icon" href="'+e+'">')}function s(e)
 {
   document.title=e}function p(e){
   return c({
   share_id:924053302,url:_e.encode(e.link),
 title:_e.encode(e.title),description:_e.encode(e.desc),
 previewimageUrl:_e.encode(e.icon),image_url:_e.encode(e.icon)})}
 function h(){
   a((se?"mqqapi://share/to_fri?src_type=web&version=
 1&file_type=news":"mqqapi://share/to_fri?src_type=isqqBrowser&version
 =1&file_type=news")+"&"+p(Se))}function b()
 {
   a((se?"mqqapi://share/to_fri?file_type=news&src_type=web&version=
 1&generalpastboard=1&shareType=1&cflag=1&objectlocation=pasteboard&callback_type=
 scheme&callback_name=QQ41AF4B2A":"mqqapi://share/to_qzone?src_type=isqqBrowser&version
 =1&file_type=news&req_type=1")+"&"+p(Se))}function y(){
   
 var e={
   url:Se.link,title:Se.title,pic:Se.icon,desc:Se.desc};
 location.href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?"+c(e,!0)}
 function d(){
   var e={
   url:Se.link,title:Se.title,pic:Se.icon};location.href=
 "http://service.weibo.com/share/share.php?"+c(e,!0)}function w(e,t)
 {
   if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}
 function v(e,t,n){
   return t in e?Object.defineProperty(e,t,{
   value:n,enumerable:!0,
 configurable:!0,writable:!0}):e[t]=n,e}function g(e,t){
   if(!(e instanceof t))throw new 
 TypeError("Cannot call a class as a function")}function m(e,t){
   if(!e)throw new 
 ReferenceError("this hasn't been initialised - super() hasn't been called");
 return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _(e,t)
 {
   if("function"!=typeof t&&null!==t)throw new TypeError
 ("Super expression must either be null or a function, not "+typeof t);
 e.prototype=Object.create(t&&t.prototype,{
   constructor:
 {
   value:e,enumerable:!1,writable:!0,configurable:!0}}),
 t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
 function O(e,t,n){
   return t in e?Object.defineProperty(e,t,{
   value:n,enumerable:!0,
 configurable:!0,writable:!0}):e[t]=n,e}function j(e,t){
   if(!(e instanceof t))throw new 
 TypeError("Cannot call a class as a function")}function S(e,t){
   if(!e)throw new 
 ReferenceError("this hasn't been initialised - super() hasn't been called");
 return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function k(e,t)
 {
   if("function"!=typeof t&&null!==t)throw new TypeError
 ("Super expression must either be null or a function, not "+typeof t);
 e.prototype=Object.create(t&&t.prototype,{
   constructor:{
   value:e,enumerable:!1,writable:!
 0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):
 e.__proto__=t)}function P(e,t,n){
   return t in e?Object.defineProperty(e,t,
 {
   value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t)
 {
   if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}
 function q(e,t){
   if(!e)throw new ReferenceError("this hasn't been initialised - super() 
 hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function T
 (e,t){
   if("function"!=typeof t&&null!==t)throw new TypeError
 ("Super expression must either be null or a function, not "+typeof t);
 e.prototype=Object.create(t&&t.prototype,{
   constructor:{
   value:e,enumerable:!1,writable:!
 0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):
 e.__proto__=t)}function E(e,t){
   if(!(e instanceof t))throw new TypeError
 ("Cannot call a class as a function")}function D(e,t){
   if(!e)throw new
  ReferenceError("this hasn't been initialised - super() hasn't been called");
  return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function x(e,t)
  {
   if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must 
  either be null or a function, not "+typeof t);e.prototype=Object.create
  (t&&t.prototype,{
   constructor:{
   value:e,enumerable:!1,writable:!0,configurable:!0}}),
  t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
  function Q(e,t){
   if(!(e instanceof t))throw new TypeError
  ("Cannot call a class as a function")}function M(e,t)
  {
   if(!e)throw new ReferenceError("this hasn't been initialised - super() 
  hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}
  function N(e,t){
   if("function"!=typeof t&&null!==t)throw new TypeError
  ("Super expression must either be null or a function, not "+typeof t);
  e.prototype=Object.create(t&&t.prototype,{
   constructor:{
   value:e,enumerable:!
  1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):
  e.__proto__=t)}function A(e,t){
   if(!(e instanceof t))throw new TypeError
  ("Cannot call a class as a function")}function U(e,t){
   if(!e)
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值