微信是开放的吗,腾讯自己肯定说是。
可是一个分享网页链接的API都要搜半天也找不到一个官方说法,那算就“开放”吗。
关于分享网页链接,可以参见 分享网页链接到微信的“几种”方法
如果不借助JavaScript的话:
title
标签这显然可控性不是很好:
目前综合查询总结下来,下面的代码经验证可以工作。使用的是被称为“Weixin JS接口”的东东。
var lineLink = 'http://../....'; // 要分享的页面的URL var imgUrl = 'http://.../...'; // 显示在微信里的缩略图 var shareTitle = '页面标题'; // 页面标题 var descContent = "页面内容简介"; // 内容简介 var appid = ''; // APP ID, 可以为空 function wx_shareFriend() { WeixinJSBridge.invoke('sendAppMessage',{ "appid": appid, "img_url": imgUrl, "img_width": "640", "img_height": "640", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { //alert(res.err_msg); }) } function wx_shareTimeline() { WeixinJSBridge.invoke('shareTimeline',{ "img_url": imgUrl, "img_width": "640", "img_height": "640", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { //alert(res.err_msg); }); } function wx_shareWeibo() { WeixinJSBridge.invoke('shareWeibo',{ "content": descContent, "url": lineLink, }, function(res) { //alert(res.err_msg); }); } function onBridgeReady(){ WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend); // 发送给朋友 WeixinJSBridge.on('menu:share:timeline', wx_shareTimeline); // 分享到朋友圈 WeixinJSBridge.on('menu:share:weibo', wx_shareWeibo); // 分享到微博 } if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } }else{ onBridgeReady(); }
“Weixin JS接口”没有完整的公开文档(至少自己还没有通过公开渠道找到),只能零散记录整理如下。
function onBridgeReady(){ WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend); WeixinJSBridge.on('menu:share:timeline', wx_shareTimeline); WeixinJSBridge.on('menu:share:weibo', wx_shareWeibo); } if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } }else{ onBridgeReady(); }
WeixinJSBridge.call('hideOptionMenu');
WeixinJSBridge.call('hideToolbar');
WeixinJSBridge.invoke('closeWindow',{},function(res){ // alert(res.err_msg); });
WeixinJSBridge.invoke('getNetworkType',{},function(e){ // WeixinJSBridge.log(e.err_msg); });