最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

手機(jī)瀏覽器喚起微信分享(JS)

 更新時(shí)間:2020年10月11日 15:53:40   作者:King女王  
這篇文章主要介紹了手機(jī)瀏覽器喚起微信分享功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近在做一個(gè)手機(jī)站,要求點(diǎn)擊分享可以直接打開微信分享出去。而不是jiathis,share分享這種的點(diǎn)擊出來二維碼。在網(wǎng)上看了很多,都說APP能喚起微信,手機(jī)網(wǎng)頁(yè)實(shí)現(xiàn)不了。也找了很多都不能直接喚起微信。

總結(jié)出來一個(gè)可以直接喚起微信的。適應(yīng)手機(jī)qq瀏覽器和uc瀏覽器。

下面上代碼,把這些直接放到要轉(zhuǎn)發(fā)的頁(yè)面里就可以了:

html部分:

<script src="mshare.js"></script>//引進(jìn)mshare.js
<button data-mshare="0">點(diǎn)擊彈出原生分享面板</button>
<button data-mshare="1">點(diǎn)擊觸發(fā)朋友圈分享</button>
<button data-mshare="2">點(diǎn)擊觸發(fā)發(fā)送給微信朋友</button>

js部分:

<script>
var mshare = new mShare({
  title: 'Lorem ipsum dolor sit.',
  url: 'http://m.ly.com',
  desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat inventore minima voluptates.',
  img: 'http://placehold.it/150x150'
});
$('button').click(function () {
  // 1 ==> 朋友圈 2 ==> 朋友 0 ==> 直接彈出原生
  mshare.init(+$(this).data('mshare'));
});
</script>

下面是mshare.js的代碼分享,把這些代碼新建一個(gè)js文件放進(jìn)去,然后在頁(yè)面中引進(jìn)就ok了。

/**
 * 此插件主要作用是在UC和QQ兩個(gè)主流瀏覽器
 * 上面觸發(fā)微信分享到朋友圈或發(fā)送給朋友的功能
 */
'use strict';
var UA = navigator.appVersion;
 
/**
 * 是否是 UC 瀏覽器
 */
var uc = UA.split('UCBrowser/').length > 1 ? 1 : 0;
 
/**
 * 判斷 qq 瀏覽器
 * 然而qq瀏覽器分高低版本
 * 2 代表高版本
 * 1 代表低版本
 */
var qq = UA.split('MQQBrowser/').length > 1 ? 2 : 0;
 
/**
 * 是否是微信
 */
var wx = /micromessenger/i.test(UA);
 
/**
 * 瀏覽器版本
 */
var qqVs = qq ? parseFloat(UA.split('MQQBrowser/')[1]) : 0;
var ucVs = uc ? parseFloat(UA.split('UCBrowser/')[1]) : 0;
 
/**
 * 獲取操作系統(tǒng)信息 iPhone(1) Android(2)
 */
var os = (function () {
  var ua = navigator.userAgent;
 
  if (/iphone|ipod/i.test(ua)) {
    return 1;
  } else if (/android/i.test(ua)) {
    return 2;
  } else {
    return 0;
  }
}());
 
/**
 * qq瀏覽器下面 是否加載好了相應(yīng)的api文件
 */
var qqBridgeLoaded = false;
 
// 進(jìn)一步細(xì)化版本和平臺(tái)判斷
if ((qq && qqVs < 5.4 && os == 1) || (qq && qqVs < 5.3 && os == 1)) {
  qq = 0;
} else {
  if (qq && qqVs < 5.4 && os == 2) {
    qq = 1;
  } else {
    if (uc && ((ucVs < 10.2 && os == 1) || (ucVs < 9.7 && os == 2))) {
      uc = 0;
    }
  }
}
/**
 * qq瀏覽器下面 根據(jù)不同版本 加載對(duì)應(yīng)的bridge
 * @method loadqqApi
 * @param {Function} cb 回調(diào)函數(shù)
 */
function loadqqApi(cb) {
  // qq == 0 
  if (!qq) {
    return cb && cb();
  }
  var script = document.createElement('script');
  script.src = (+qq === 1) ? '//3gimg.qq.com/html5/js/qb.js' : '//jsapi.qq.com/get?api=app.share';
  /**
   * 需要等加載過 qq 的 bridge 腳本之后
   * 再去初始化分享組件
   */
  script.onload = function () {
    cb && cb();
  };
  document.body.appendChild(script);
}
/**
 * UC瀏覽器分享
 * @method ucShare
 */
function ucShare(config) {
  // ['title', 'content', 'url', 'platform', 'disablePlatform', 'source', 'htmlID']
  // 關(guān)于platform
  // ios: kWeixin || kWeixinFriend;
  // android: WechatFriends || WechatTimeline
  // uc 分享會(huì)直接使用截圖
  var platform = '';
  var shareInfo = null;
  // 指定了分享類型
  if (config.type) {
    if (os == 2) {
      platform = config.type == 1 ? 'WechatTimeline' : 'WechatFriends';
    } else if (os == 1) {
      platform = config.type == 1 ? 'kWeixinFriend' : 'kWeixin';
    }
  }
  shareInfo = [config.title, config.desc, config.url, platform, '', '', ''];
  // android 
  if (window.ucweb) {
    ucweb.startRequest && ucweb.startRequest('shell.page_share', shareInfo);
    return;
  }
  if (window.ucbrowser) {
    ucbrowser.web_share && ucbrowser.web_share.apply(null, shareInfo);
    return;
  }
}
/**
 * qq 瀏覽器分享函數(shù)
 * @method qqShare
 */
function qqShare(config) {
  var type = config.type;
  //微信好友 1, 微信朋友圈 8
  type = type ? ((type == 1) ? 8 : 1) : '';
  var share = function () {
    var shareInfo = {
      'url': config.url,
      'title': config.title,
      'description': config.desc,
      'img_url': config.img,
      'img_title': config.title,
      'to_app': type,
      'cus_txt': ''
    };
    if (window.browser) {
      browser.app && browser.app.share(shareInfo);
    } else if (window.qb) {
      qb.share && qb.share(shareInfo);
    }
  };
  if (qqBridgeLoaded) {
    share();
  } else {
    loadqqApi(share);
  }
}
/**
 * 對(duì)外暴露的接口函數(shù)
 * @method mShare
 * @param {Object} config 配置對(duì)象
 */
function mShare(config) {
  this.config = config;
  this.init = function (type) {
    if (typeof type != 'undefined') this.config.type = type;
    try {
      if (uc) {
        ucShare(this.config);
      } else if (qq && !wx) {
        qqShare(this.config);
      }
    } catch (e) {}
  }
}
// 預(yù)加載 qq bridge
loadqqApi(function () {
  qqBridgeLoaded = true;
});
if (typeof module === 'object' && module.exports) {
  module.exports = mShare;
} else {
  window.mShare = mShare;
}

好了,這樣就可以直接喚起微信進(jìn)行分享啦。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序動(dòng)態(tài)添加分享數(shù)據(jù)

    微信小程序動(dòng)態(tài)添加分享數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了微信小程序動(dòng)態(tài)添加分享數(shù)據(jù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 微信小程序開發(fā)實(shí)現(xiàn)首頁(yè)彈框活動(dòng)引導(dǎo)功能

    微信小程序開發(fā)實(shí)現(xiàn)首頁(yè)彈框活動(dòng)引導(dǎo)功能

    自己x實(shí)現(xiàn)的一個(gè)比較簡(jiǎn)單微信彈窗功能,主要就是教會(huì)大家對(duì)微信彈窗的用法和理解,這篇文章主要給大家介紹了關(guān)于微信小程序如何實(shí)現(xiàn)首頁(yè)彈框活動(dòng)引導(dǎo)功能的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • echarts自定義tooltip中的內(nèi)容代碼示例

    echarts自定義tooltip中的內(nèi)容代碼示例

    在ECharts中,通過formatter函數(shù)自定義圖例樣式,可以實(shí)現(xiàn)更靈活的圖表展示,滿足特定的視覺需求,這篇文章主要介紹了echarts自定義tooltip中內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • JS中Generator函數(shù)與async函數(shù)用法介紹

    JS中Generator函數(shù)與async函數(shù)用法介紹

    javascript中經(jīng)常會(huì)用到異步編程,在ES6之后我們使用的?Generator函數(shù)、async函數(shù)、promise都是我們異步編程的一大助力,這里我們主要講解Generator、async函數(shù),并且簡(jiǎn)介他們之間的一些聯(lián)系,本篇文章會(huì)帶著一些簡(jiǎn)易案例,方便大家理解使用
    2023-06-06
  • 基于JavaScript實(shí)現(xiàn)控制下拉列表

    基于JavaScript實(shí)現(xiàn)控制下拉列表

    這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)控制下拉列表,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 微信小程序+騰訊地圖開發(fā)實(shí)現(xiàn)路徑規(guī)劃繪制

    微信小程序+騰訊地圖開發(fā)實(shí)現(xiàn)路徑規(guī)劃繪制

    這篇文章主要介紹了微信小程序+騰訊地圖開發(fā)實(shí)現(xiàn)路徑規(guī)劃繪制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • JS遍歷Json字符串中鍵值對(duì)先轉(zhuǎn)成JSON對(duì)象再遍歷

    JS遍歷Json字符串中鍵值對(duì)先轉(zhuǎn)成JSON對(duì)象再遍歷

    這篇文章主要介紹了JS遍歷Json字符串中鍵值對(duì)的方法,先將Json字符串轉(zhuǎn)換成JSON對(duì)象,再進(jìn)行遍歷,需要的朋友可以參考下
    2014-08-08
  • js實(shí)現(xiàn)上傳圖片并顯示圖片名稱

    js實(shí)現(xiàn)上傳圖片并顯示圖片名稱

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)上傳圖片并顯示圖片名稱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 微信小程序?qū)崿F(xiàn)身份證取景框拍攝

    微信小程序?qū)崿F(xiàn)身份證取景框拍攝

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)身份證取景框拍攝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Javascript點(diǎn)擊其他任意地方隱藏關(guān)閉DIV實(shí)例

    Javascript點(diǎn)擊其他任意地方隱藏關(guān)閉DIV實(shí)例

    這篇文章主要分享一個(gè)Javascript點(diǎn)擊其他任意地方隱藏關(guān)閉DIV實(shí)例,需要的朋友可以參考下。
    2016-06-06

最新評(píng)論

泰来县| 汉寿县| 湖口县| 奇台县| 富川| 卢龙县| 安新县| 两当县| 澳门| 潼关县| 行唐县| 通渭县| 珠海市| 陈巴尔虎旗| 合水县| 文昌市| 社会| 溆浦县| 乳源| 郁南县| 阿巴嘎旗| 乐都县| 伊春市| 民县| 安塞县| 阜平县| 长乐市| 龙陵县| 新沂市| 濮阳县| 平武县| 彰化县| 东山县| 墨脱县| 安国市| 灵寿县| 柳林县| 长子县| 西藏| 五台县| 满城县|