怎么在HTML5外部浏览器唤起微信
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章给大家分享的是有关怎么在HTML5外部浏览器唤起微信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html部分://引进mshare.js点击弹出原生分享面板点击触
千家信息网最后更新 2025年01月18日怎么在HTML5外部浏览器唤起微信
这篇文章给大家分享的是有关怎么在HTML5外部浏览器唤起微信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
html部分:
//引进mshare.js
js部分:
下面是mshare.js的代码分享,把这些代码新建一个js文件放进去,然后在页面中引进就ok了。
/** * 此插件主要作用是在UC和QQ两个主流浏览器 * 上面触发微信分享到朋友圈或发送给朋友的功能 */'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; /** * 获取操作系统信息 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浏览器下面 是否加载好了相应的api文件 */var qqBridgeLoaded = false; // 进一步细化版本和平台判断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浏览器下面 根据不同版本 加载对应的bridge * @method loadqqApi * @param {Function} cb 回调函数 */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'] // 关于platform // ios: kWeixin || kWeixinFriend; // android: WechatFriends || WechatTimeline // uc 分享会直接使用截图 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 浏览器分享函数 * @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); }}/** * 对外暴露的接口函数 * @method mShare * @param {Object} config 配置对象 */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) {} }}// 预加载 qq bridgeloadqqApi(function () { qqBridgeLoaded = true;});if (typeof module === 'object' && module.exports) { module.exports = mShare;} else { window.mShare = mShare;}
感谢各位的阅读!关于"怎么在HTML5外部浏览器唤起微信"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
浏览器
浏览
朋友
版本
函数
代码
代表
内容
文件
更多
篇文章
部分
不同
不错
实用
操作系统
两个
主流
作用
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目简介范文
java程序部署到服务器
穿越火线绿色服务器怎么样才能进
网络安全系统包括哪几部分?
工业控制网络技术第2版
有关网络安全的墙报
网络安全设备与等保
db数据库连接
软件开发综合文档
易语言数据库导入超级列表框
网络打印服务器管理员软件
庐江网络技术服务哪家好
家长学习网络安全法
刷新服务器管理器时失败
灵鹊网络技术公司
数据库原理与应用关系的意思
网络语音通话会保存在服务器吗
通信与网络技术总结
大成服务器
华为有云数据库吗
货拉拉门店服务器
政务网络安全方案
在哪看网络安全法
天象网络技术有限公司普通工资
服务器向客户端发送请求的方法
大众服务器关闭二手仪表
conda配置代理服务器
大学生网络安全宣传海报
数据库传输数据
11日国家网络安全会议实况