微信网页进入,右上角有三个小点,没错,我们用到的就是它!我们只要通过将小点列表下的按钮进行自定义,就可以随心所欲的分享我们自己的内容了。
注意:(WeixinJSBridge只能在微信内打开的网页有效)
按钮一之------发送给好友
这样,只要在某处调用 sendMessage 函数就可以改变发送好友的按钮响应了,再点击,便会弹出“发送给好友字符串”,是不是很简单。
分享函数
注意,如果将这个微信私有函数单独拿出来调用,道理上是讲的通,但是!第一次打开页面直接调用它的话,无论如何是没有任何反映的,必须要手动,点一下右上角分享给好友按钮,待弹出一次通讯录之后,返回来在直接使用,就没有任何问题,似乎内部初始化什么东西一样。所以建议直接嵌入到上面那个 绑定方法中。
如下:
这样,你在点击发送给好友按钮,就可以直接弹出通讯录选择 ‘单个' 好友进行分享。
同理,分享到朋友圈也是调用 invoke 私有函数,只是按钮绑定名称不同而已。
注意,on绑定的是 “menu:share:timeline” 不是 "menu:share:appmessage"。invoke里面也是。
还一个微博分享,我没试过,不知道有没有用,想玩的试试,一切分享都是调用当前微信帐号分享。
如果微信浏览器内部尚未初始化,所有的接口都会是undefined。为了避免进去马上就调用出错,获取微信初始化完成响应事件,初始化完成调用sendMessage进行绑定。
如下:
我是一个菜鸟,写完了,写的不好,请大家多多包含!
完整测试代码(用微信打开):
<script><br /> function sendMessage(){<br /> WeixinJSBridge.on('menu:share:appmessage', function(argv){<br /> WeixinJSBridge.invoke('sendAppMessage',{<br /> <br /> "appid":"", //appid 设置空就好了。<br /> "img_url":"", //分享时所带的图片路径<br /> "img_width":"120", //图片宽度<br /> "img_height":"120", //图片高度<br /> "link":"<a href="http://www.jb51.net">http://www.jb51.net", //分享附带链接地址<br /> "desc":"极客标签--http://www.jb51.net", //分享内容介绍<br /> "title":"发现 极客标签 - 做最棒的极客知识分享平台"<br /> }, function(res){/*** 回调函数,最好设置为空 ***/<br /> <br /> });<br /> });<br /> <br /> WeixinJSBridge.on('menu:share:timeline', function(argv){<br /> <br /> WeixinJSBridge.invoke('shareTimeline',{<br /> <br /> "appid":"", //appid 设置空就好了。<br /> "img_url":"", //分享时所带的图片路径<br /> "img_width":"120", //图片宽度<br /> "img_height":"120", //图片高度<br /> "link":"<a href="http://www.jb51.net">http://www.jb51.net", //分享附带链接地址<br /> "desc":"极客标签--http://www.jb51.net", //分享内容介绍<br /> "title":"发现 极客标签 - 做最棒的极客知识分享平台"<br /> }, function(res){/*** 回调函数,最好设置为空 ***/<br /> });<br /> <br /> });</script>
alert("调用成功!现在可以通过右上角按钮分享给朋友或者朋友圈!");
}
function hideMenu(){
WeixinJSBridge.call('hideOptionMenu');
}
function showMenu(){
WeixinJSBridge.call('showOptionMenu');
}
function hideTool(){
WeixinJSBridge.call('hideToolbar');
}
function showTool(){
WeixinJSBridge.call('showToolbar');
}
if(document.addEventListener){
document.addEventListener('WeixinJSBridgeReady', sendMessage, false);
}else if(document.attachEvent){
document.attachEvent('WeixinJSBridgeReady' , sendMessage);
document.attachEvent('onWeixinJSBridgeReady' , sendMessage);
}
//判断网页是否在微信中被调用
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
} else {
alert("调用失败,请用微信扫一扫,扫描下面二维码打开网页!");
}