手机浏览器唤起微信分享(JS)
最近在做一个手机站,要求点击分享可以直接打开微信分享出去。而不是jiathis,share分享这种的点击出来二维码。在网上看了很多,都说APP能唤起微信,手机网页实现不了。也找了很多都不能直接唤起微信。
总结出来一个可以直接唤起微信的。适应手机qq浏览器和uc浏览器。
下面上代码,把这些直接放到要转发的页面里就可以了:
html部分:
//引进mshare.js 点击弹出原生分享面板 点击触发朋友圈分享 点击触发发送给微信朋友
js部分:
下面是mshare.js的代码分享,把这些代码新建一个js文件放进去,然后在页面中引进就ok了。
/** *此插件主要作用是在UC和QQ两个主流浏览器 *上面触发微信分享到朋友圈或发送给朋友的功能 */ 'usestrict'; varUA=navigator.appVersion; /** *是否是UC浏览器 */ varuc=UA.split('UCBrowser/').length>1?1:0; /** *判断qq浏览器 *然而qq浏览器分高低版本 *2代表高版本 *1代表低版本 */ varqq=UA.split('MQQBrowser/').length>1?2:0; /** *是否是微信 */ varwx=/micromessenger/i.test(UA); /** *浏览器版本 */ varqqVs=qq?parseFloat(UA.split('MQQBrowser/')[1]):0; varucVs=uc?parseFloat(UA.split('UCBrowser/')[1]):0; /** *获取操作系统信息iPhone(1)Android(2) */ varos=(function(){ varua=navigator.userAgent; if(/iphone|ipod/i.test(ua)){ return1; }elseif(/android/i.test(ua)){ return2; }else{ return0; } }()); /** *qq浏览器下面是否加载好了相应的api文件 */ varqqBridgeLoaded=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 *@methodloadqqApi *@param{Function}cb回调函数 */ functionloadqqApi(cb){ //qq==0 if(!qq){ returncb&&cb(); } varscript=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浏览器分享 *@methoducShare */ functionucShare(config){ //['title','content','url','platform','disablePlatform','source','htmlID'] //关于platform //ios:kWeixin||kWeixinFriend; //android:WechatFriends||WechatTimeline //uc分享会直接使用截图 varplatform=''; varshareInfo=null; //指定了分享类型 if(config.type){ if(os==2){ platform=config.type==1?'WechatTimeline':'WechatFriends'; }elseif(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浏览器分享函数 *@methodqqShare */ functionqqShare(config){ vartype=config.type; //微信好友1,微信朋友圈8 type=type?((type==1)?8:1):''; varshare=function(){ varshareInfo={ '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); }elseif(window.qb){ qb.share&&qb.share(shareInfo); } }; if(qqBridgeLoaded){ share(); }else{ loadqqApi(share); } } /** *对外暴露的接口函数 *@methodmShare *@param{Object}config配置对象 */ functionmShare(config){ this.config=config; this.init=function(type){ if(typeoftype!='undefined')this.config.type=type; try{ if(uc){ ucShare(this.config); }elseif(qq&&!wx){ qqShare(this.config); } }catch(e){} } } //预加载qqbridge loadqqApi(function(){ qqBridgeLoaded=true; }); if(typeofmodule==='object'&&module.exports){ module.exports=mShare; }else{ window.mShare=mShare; }
好了,这样就可以直接唤起微信进行分享啦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。