• <center id="sm46c"></center>
  • <dfn id="sm46c"></dfn>
  • <strike id="sm46c"></strike>
  • <cite id="sm46c"><source id="sm46c"></source></cite>
    • <strike id="sm46c"><source id="sm46c"></source></strike>
      <option id="sm46c"></option>
      国产精品天天看天天狠,女高中生强奷系列在线播放,久久无码免费的a毛片大全,国产日韩综合av在线,亚洲国产中文综合专区在,特殊重囗味sm在线观看无码,中文字幕一区二区三区四区在线,无码任你躁久久久久久老妇蜜桃

      H5之外部瀏覽器喚起微信分享

      2020-3-8    seo達(dá)人

      最近在做一個(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部分:

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

      js部分:

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

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

      
      
      1. /**
      2. * 此插件主要作用是在UC和QQ兩個(gè)主流瀏覽器
      3. * 上面觸發(fā)微信分享到朋友圈或發(fā)送給朋友的功能
      4. */
      5. 'use strict';
      6. var UA = navigator.appVersion;
      7. /**
      8. * 是否是 UC 瀏覽器
      9. */
      10. var uc = UA.split('UCBrowser/').length > 1 ? 1 : 0;
      11. /**
      12. * 判斷 qq 瀏覽器
      13. * 然而qq瀏覽器分高低版本
      14. * 2 代表高版本
      15. * 1 代表低版本
      16. */
      17. var qq = UA.split('MQQBrowser/').length > 1 ? 2 : 0;
      18. /**
      19. * 是否是微信
      20. */
      21. var wx = /micromessenger/i.test(UA);
      22. /**
      23. * 瀏覽器版本
      24. */
      25. var qqVs = qq ? parseFloat(UA.split('MQQBrowser/')[1]) : 0;
      26. var ucVs = uc ? parseFloat(UA.split('UCBrowser/')[1]) : 0;
      27. /**
      28. * 獲取操作系統(tǒng)信息 iPhone(1) Android(2)
      29. */
      30. var os = (function () {
      31. var ua = navigator.userAgent;
      32. if (/iphone|ipod/i.test(ua)) {
      33. return 1;
      34. } else if (/android/i.test(ua)) {
      35. return 2;
      36. } else {
      37. return 0;
      38. }
      39. }());
      40. /**
      41. * qq瀏覽器下面 是否加載好了相應(yīng)的api文件
      42. */
      43. var qqBridgeLoaded = false;
      44. // 進(jìn)一步細(xì)化版本和平臺(tái)判斷
      45. if ((qq && qqVs < 5.4 && os == 1) || (qq && qqVs < 5.3 && os == 1)) {
      46. qq = 0;
      47. } else {
      48. if (qq && qqVs < 5.4 && os == 2) {
      49. qq = 1;
      50. } else {
      51. if (uc && ((ucVs < 10.2 && os == 1) || (ucVs < 9.7 && os == 2))) {
      52. uc = 0;
      53. }
      54. }
      55. }
      56. /**
      57. * qq瀏覽器下面 根據(jù)不同版本 加載對(duì)應(yīng)的bridge
      58. * @method loadqqApi
      59. * @param {Function} cb 回調(diào)函數(shù)
      60. */
      61. function loadqqApi(cb) {
      62. // qq == 0
      63. if (!qq) {
      64. return cb && cb();
      65. }
      66. var script = document.createElement('script');
      67. script.src = (+qq === 1) ? '//3gimg.qq.com/html5/js/qb.js' : '//jsapi.qq.com/get?api=app.share';
      68. /**
      69. * 需要等加載過 qq 的 bridge 腳本之后
      70. * 再去初始化分享組件
      71. */
      72. script.onload = function () {
      73. cb && cb();
      74. };
      75. document.body.appendChild(script);
      76. }
      77. /**
      78. * UC瀏覽器分享
      79. * @method ucShare
      80. */
      81. function ucShare(config) {
      82. // ['title', 'content', 'url', 'platform', 'disablePlatform', 'source', 'htmlID']
      83. // 關(guān)于platform
      84. // ios: kWeixin || kWeixinFriend;
      85. // android: WechatFriends || WechatTimeline
      86. // uc 分享會(huì)直接使用截圖
      87. var platform = '';
      88. var shareInfo = null;
      89. // 指定了分享類型
      90. if (config.type) {
      91. if (os == 2) {
      92. platform = config.type == 1 ? 'WechatTimeline' : 'WechatFriends';
      93. } else if (os == 1) {
      94. platform = config.type == 1 ? 'kWeixinFriend' : 'kWeixin';
      95. }
      96. }
      97. shareInfo = [config.title, config.desc, config.url, platform, '', '', ''];
      98. // android
      99. if (window.ucweb) {
      100. ucweb.startRequest && ucweb.startRequest('shell.page_share', shareInfo);
      101. return;
      102. }
      103. if (window.ucbrowser) {
      104. ucbrowser.web_share && ucbrowser.web_share.apply(null, shareInfo);
      105. return;
      106. }
      107. }
      108. /**
      109. * qq 瀏覽器分享函數(shù)
      110. * @method qqShare
      111. */
      112. function qqShare(config) {
      113. var type = config.type;
      114. //微信好友 1, 微信朋友圈 8
      115. type = type ? ((type == 1) ? 8 : 1) : '';
      116. var share = function () {
      117. var shareInfo = {
      118. 'url': config.url,
      119. 'title': config.title,
      120. 'description': config.desc,
      121. 'img_url': config.img,
      122. 'img_title': config.title,
      123. 'to_app': type,
      124. 'cus_txt': ''
      125. };
      126. if (window.browser) {
      127. browser.app && browser.app.share(shareInfo);
      128. } else if (window.qb) {
      129. qb.share && qb.share(shareInfo);
      130. }
      131. };
      132. if (qqBridgeLoaded) {
      133. share();
      134. } else {
      135. loadqqApi(share);
      136. }
      137. }
      138. /**
      139. * 對(duì)外暴露的接口函數(shù)
      140. * @method mShare
      141. * @param {Object} config 配置對(duì)象
      142. */
      143. function mShare(config) {
      144. this.config = config;
      145. this.init = function (type) {
      146. if (typeof type != 'undefined') this.config.type = type;
      147. try {
      148. if (uc) {
      149. ucShare(this.config);
      150. } else if (qq && !wx) {
      151. qqShare(this.config);
      152. }
      153. } catch (e) {}
      154. }
      155. }
      156. // 預(yù)加載 qq bridge
      157. loadqqApi(function () {
      158. qqBridgeLoaded = true;
      159. });
      160. if (typeof module === 'object' && module.exports) {
      161. module.exports = mShare;
      162. } else {
      163. window.mShare = mShare;
      164. }

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

      日歷

      鏈接

      個(gè)人資料

      存檔

      主站蜘蛛池模板: 欧美人人干| 日韩一区二区三区理伦片| 亚洲 欧美 自拍 唯美 另类| 日本道高清一区二区三区| 国产AV无码专区亚洲AV偷| 亚洲妓女综合网99| 手机看片1024久久精品你懂的| 人妻丰满熟AV无码区HD| 97久久精品无码一区二区| 涿州市| 天天澡天天添天天摸97影院| 久久精品这里热有精品| 人妻人人澡人人添人人爽| 国产一区二区在线观看的| 成人国产精品日本在线观看| 久久996re热这里只有精品无码| 亚洲精品久久久中文字幕痴女| 亚洲精品成人福利在线电影| 日韩高清在线亚洲专区国产| 国产精品av免费观看| 97在线碰| 人妻少妇精品免费无码专区v| 亚洲性夜夜天天天| 天天视频黄网站在线观看| 久久永久免费专区人妻精品| 久久99精品久久久久久婷婷2021| 狠狠噜狠狠狠狠丁香五月| 亚洲人成人一区二区三区| 国产精品免费大片| 欧美性色欧美A在线图片| 怡春院欧美一区二区三区免费| 在线观看日本亚洲一区| 少妇愉情理伦片丰满丰满午夜| 激情综合亚洲色婷婷五月| 色综合色综合久久综合频道| 精品国产AⅤ一区二区三区4区| 久久男人av资源网站无码| 日韩精品一区二区蜜臀av | 欧美黑人又粗又大xxx| 一区二区传媒有限公司| 卡一卡2卡3卡精品网站|