近日的一个项目中有一个分享功能 而这一块是前端常使用的一个部分 对于前端网页 有很多别人做好的可以提供给我们使用
首先分享要考虑到各个浏览器的适配 这样就很麻烦 微信的分享只能进入app手动操作 其他的倒是差不多
好了开始正文
我找了一下网上前辈的资料 有几个路子供大家选择
方式1 JiaThis
方式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)